Home >Backend Development >Golang >How to Debug Go Programs with Tags in Visual Studio Code?
Debugging Go with Tags in Visual Studio Code and Delve Debugger
When compiling different versions of a Go program with build tags, you may encounter challenges with debugging the tagged versions in Visual Studio Code (VSCode). This article explores a solution using both a pre-launch task and the correct launch configuration.
The Visual Studio Code Go plugin allows you to specify build tags using the "buildFlags" key. The value of this key is "-tags Tag", where "Tag" is the specific build tag you want to use. A separate launch configuration can be created for each build tag.
Building with Tags
To build the binary with the respective tags, create a task in your tasks.json file:
<code class="json">{ ... "tasks": [ { "taskName": "buildBinWithTag", "command": "go", "args": ["build", "-o", "BinaryName", "-tags", "THISISATAG"], "isShellCommand": true } ] }</code>
Debugging with Tags
In your launch.json file, add a launch configuration for each targeted build tag:
{ ... "configurations": [ { "name": "DebugBinWithTag", //added config "type": "go", "request": "launch", "mode": "exec", "remotePath": "", "port": 2345, "host": "127.0.0.1", "program": "${workspaceRoot}/BinaryName", "env": {}, "args": [], "showLog": true, "preLaunchTask": "buildBinWithTag" } ] }
By running the pre-launch task before the debugger launches, you can ensure that the binary is built with the correct tags. This solution allows you to debug different versions of your Go program with build tags seamlessly in VSCode.
The above is the detailed content of How to Debug Go Programs with Tags in Visual Studio Code?. For more information, please follow other related articles on the PHP Chinese website!