In C# kann ein laufendes Programm mithilfe der Methode „System.Diagnostics.Debugger.IsAttached“ erkennen, ob es unter Debugger-Überwachung steht .
Kann Go eine ähnliche Funktionalität erreichen? Dies ist besonders wünschenswert, um Zeitüberschreitungen beim Debuggen von Code zu deaktivieren.
Konkret stellt sich diese Frage im Zusammenhang mit der Verwendung des GoLand-Debuggers.
Verwendung Build-Tags:
Fügen Sie in „isdelve/delve.go“ das folgende Build-Tag hinzu:
// +build delve
Fügen Sie in „isdelve/nodelve.go“ den folgenden Build hinzu tag:
// +build !delve
Fügen Sie beiden Dateien eine „package isdelve“-Deklaration hinzu und deklarieren Sie die Konstante „Enabled“:
package isdelve const Enabled = true // or package isdelve const Enabled = false
Erstellen Sie eine dritte Go-Datei, „a.go“, die die Datei „isdelve“ importiert. Paket:
package main import ( "isdelve" "fmt" ) func main() { fmt.Println("delve", isdelve.Enabled) }
GoLand konfigurieren:
Verwendung:
Alternative:
Alternativ kann der Befehl „set“ von delve nach dem Starten des Debuggers manuell eine Variable festlegen.
Das obige ist der detaillierte Inhalt vonKann GoLand-Debugger-Anhänge wie „Debugger.IsAttached' von C# erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!