Heim >Backend-Entwicklung >Golang >Wie kann ich erkennen, ob der GoLand-Debugger an ein Go-Programm angehängt ist?
Im Gegensatz zu C#, wo System.Diagnostics.Debugger.IsAttached zum Erkennen der Präsenz des Debuggers verwendet werden kann, ist dies in Go der Fall kein direktes Äquivalent. Um dieses Problem zu lösen, besteht ein Ansatz darin, Build-Tags mit dem Delve-Debugger zu nutzen.
Erstellen Sie zwei Dateien:
// +build delve package isdelve const Enabled = true
// +build !delve package isdelve const Enabled = false
Importieren Sie in Ihrem Hauptprogramm das isdelve-Paket und überprüfen Sie das Aktivierte Konstante:
import "isdelve" func main() { fmt.Println("delve", isdelve.Enabled) }
Navigieren Sie in GoLand zu „Konfigurationen ausführen/debuggen“ und fügen Sie unter „Go-Tool-Argumente“ Folgendes hinzu:
-tags=delve
Wenn Sie nun das Programm in GoLand ausführen, wird das Delve-Build-Tag aktiviert, sodass Sie auf isdelve.Enabled zugreifen können Konstante.
Alternativ können Sie den Befehl „set“ von delve verwenden, um nach dem Starten des Debuggers eine Variable festzulegen:
dlv debug a.go (dlv) set debug.enabled true
Das obige ist der detaillierte Inhalt vonWie kann ich erkennen, ob der GoLand-Debugger an ein Go-Programm angehängt ist?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!