Debugging Go mit Tags in Visual Studio Code und Delve Debugger
Einführung
Debugging Go Programme mit Build-Tags können eine Herausforderung darstellen, da diese Tags angeben, welche Teile des Codes für verschiedene Build-Konfigurationen kompiliert werden sollen. Dieser Artikel bietet eine Lösung für das Debuggen mit Build-Tags mithilfe von Visual Studio Code und dem Delve-Debugger.
Lösung: Build-Tags in der Startkonfiguration angeben
Go-Plugin von Visual Studio Code unterstützt eine „launch.json“-Konfiguration, die es Ihnen ermöglicht, Build-Flags anzugeben. Um mit Build-Tags zu debuggen, fügen Sie der Startkonfiguration einen „buildFlags“-Schlüssel mit dem Wert „-tags Tag“ hinzu, wobei „Tag“ das gewünschte Build-Tag ist.
Zum Beispiel zum Debuggen mit dem Build Tag „THISISAFLAG“, die Startkonfiguration sollte Folgendes enthalten:
<code class="json">"buildFlags": "-tags THISISAFLAG"</code>
Zusätzliche Überlegungen
Mehrere Build-Tags:
Derzeit scheint es einen Fehler zu geben, der die Angabe mehrerer Build-Tags mit dem Schlüssel „buildFlags“ nicht zulässt.
Separate Startkonfigurationen:
Wenn Sie jeweils mehrere Build-Konfigurationen haben Wenn unterschiedliche Build-Tags erforderlich sind, können Sie für jeden separate Startkonfigurationen erstellen. Dadurch können Sie die entsprechenden Build-Tags für jede Konfiguration angeben, ohne die Build-Flags manuell ändern zu müssen.
Beispiel
Das folgende Beispiel veranschaulicht eine Startkonfiguration, die erstellt und debuggt ein Go-Programm mit dem Build-Tag „THISISAFLAG“:
<code class="json">{ "version": "0.2.0", "configurations": [ { "name": "DebugBinWithTag", "type": "go", "request": "launch", "mode": "exec", "program": "${workspaceRoot}/main.go", "env": {}, "args": [], "showLog": true, "buildFlags": "-tags THISISAFLAG" } ] }</code>
Indem Sie diese Schritte befolgen, können Sie Go-Programme mit Build-Tags in Visual Studio Code und dem Delve-Debugger problemlos debuggen.
Das obige ist der detaillierte Inhalt vonWie debugge ich Go-Programme mit Build-Tags in Visual Studio Code?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!