在C# 中,正在執行的程式可以透過「System.Diagnostics.Debugger.IsAttached」方法辨識其是否處於調試器監督之下.
Go 可以實現類似的功能嗎?這對於在調試程式碼時禁用逾時特別有用。
具體來說,這個問題是在使用 GoLand 偵錯器的上下文中出現的。
使用建置標籤:
在「isdelve/delve.go」中,加入以下建置標籤:
// +build delve
在「isdelve/nodelve.go」中,加入以下建置標籤:
// +build !delve
向兩個檔案新增「package isdelve」聲明並聲明「Enabled」常數:
package isdelve const Enabled = true // or package isdelve const Enabled = false
建立第三個Go檔案“a.go”,它導入“isdelve” package:
package main import ( "isdelve" "fmt" ) func main() { fmt.Println("delve", isdelve.Enabled) }
設定GoLand:
用法:
替代方案:
或者,delve的“set”命令可以在啟動調試器後手動設定變數。以上是Go 可以像 C# 的 `Debugger.IsAttached` 一樣偵測 GoLand 偵錯器配件嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!