:GoLandデバッガがプログラムで実行されているかどうかを確認する方法はありますか?それは使用して、デバッガで実行している場合は、実行中のプログラムを検出することができますC#の場合
System.Diagnostics.Debugger.IsAttached
は、移動中に相当するものはありますか?私はコードを踏んでいる間、私は無効にしたいと思うタイムアウトがあります。ありがとう!
私はGoLandデバッガを使用しています。
:GoLandデバッガがプログラムで実行されているかどうかを確認する方法はありますか?それは使用して、デバッガで実行している場合は、実行中のプログラムを検出することができますC#の場合
System.Diagnostics.Debugger.IsAttached
は、移動中に相当するものはありますか?私はコードを踏んでいる間、私は無効にしたいと思うタイムアウトがあります。ありがとう!
私はGoLandデバッガを使用しています。
私が知る限り、説明した方法でこれを行う組み込みの方法はありません。しかし、デベロッパーデバッガーが動作していることを示すビルドタグを使用して、多かれ少なかれ同じことを行うことができます。 --build-flags
引数を使用してdlv
にビルドタグを渡すことができます。を報告しますgo run a.go
を実行
package main
import (
"isdelve"
"fmt"
)
func main() {
fmt.Println("delve", isdelve.Enabled)
}
:
// +build !delve
package isdelve
const Enabled = false
a.go
:私はHow can I check if the race detector is enabled at runtime?に
isdelve/delve.go
// +build delve
package isdelve
const Enabled = true
isdelve/nodelve.go
を説明したように、これは基本的に同じ手法であります、実行中
dlv debug --build-flags='-tags=delve' a.go
はdelve true
と報告されます。
GoLandユーザーインターフェイスのどこかにそのフラグを渡す必要があります。私はGoLandに精通していないので、特にその部分であなたを手伝うことはできません。
また、手動でデバッガを起動した後、変数を設定するために掘り下げるのset
コマンドを使用することができます。
どのデバッガを使用していますか? – Adrian
"Goに相当するものはありますか?"一つは望んでいないだろう。コードは、デバッグしていないときと同じように動作する必要があります。そうしないと、正しくデバッグできません。 – Flimzy
ありがとう@Adrian、私は質問を更新しました。 –