Das Debuggen von Go-Programmen mit Build-Tags kann eine Herausforderung sein, insbesondere wenn Visual Studio Code und der Delve-Debugger verwendet werden.
Ursprüngliche Frage:
Kann der Debugger so konfiguriert werden, dass er beim Kompilieren von Go-Programmen bestimmte Build-Tags verwendet?
Antwort:
Das Go-Plugin von Visual Studio Code unterstützt jetzt den buildFlags-Schlüssel in launch.json. Dadurch können Entwickler Build-Tags im Format „-tags Tag“ angeben.
Konfiguration:
Aufgabe zum Erstellen von Binärdateien mit Tags:
<code class="json">{ "version": "0.1.0", "command": "bash", "isShellCommand": true, "args": [""], "showOutput": "always", "tasks": [ { "taskName": "buildBinWithTag", "command": "go", "args": ["build", "-o", "BinaryName", "-tags", "THISISATAG"], "isShellCommand": true } ] }</code>
Konfiguration zum Debuggen starten:
<code class="json">{ "version": "0.2.0", "configurations": [ { "name": "DebugBinWithTag", "type": "go", "request": "launch", "mode": "exec", "remotePath": "", "port": 2345, "host": "127.0.0.1", "program": "${workspaceRoot}/BinaryName", "env": {}, "args": [], "showLog": true, "preLaunchTask": "buildBinWithTag" } ] }</code>
Beispiel:
Verwendung des Build-Tags „ build THISISAFLAG“ :
<code class="go">//+build THISISAFLAG package main</code>
Startkonfiguration:
<code class="json">{ "version": "0.2.0", "configurations": [ { "name": "DebugWithTag", "type": "go", "request": "launch", "mode": "exec", ... "buildFlags": "-tags THISISAFLAG", ... } ] }</code>
Diese Konfiguration stellt sicher, dass der Debugger während der Kompilierung die angegebenen Build-Tags verwendet, was die Ausführung und das Debuggen von ermöglicht Go-Programme mit unterschiedlichen Tag-abhängigen Konfigurationen.
Das obige ist der detaillierte Inhalt vonKann der Debugger von Visual Studio Code Build-Tags für Go-Programme verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!