Golang Go语言中vscode编译时如何不在源文件同目录生成debug文件 能指定输出debug文件到某个目录吗

发布于 1周前 作者 zlyuanteng 来自 Go语言

null
Golang Go语言中vscode编译时如何不在源文件同目录生成debug文件 能指定输出debug文件到某个目录吗

8 回复

vscode 只是编辑器而已,至于指定输出路径当然是可以的,你 go help 看看有哪些便宜选项先。

更多关于Golang Go语言中vscode编译时如何不在源文件同目录生成debug文件 能指定输出debug文件到某个目录吗的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


好吧。我记得 go 的项目路径不是分 src. pkg. bin. 三个么。讲道理应该生成在 bin 下。算了,你是咋编译的呢?直接命令行?还是 vscode 插件

可以,调试模式有个反复的配置文件

编译参数增加个 Output 路径即可:go build -o bin/main src/main.go

如果是因为环境的问题,可以尝试使用远程调试。

求贴个。。。。。

在Go语言中使用VSCode进行开发时,你可以通过配置编译选项来指定debug文件的输出目录,避免它们直接生成在源文件目录中。这通常涉及到配置VSCode的调试任务或者调整编译命令的参数。

方法一:修改launch.json

  1. 打开VSCode中的调试视图(左侧活动栏中的小虫子图标)。
  2. 点击“创建launch.json文件”(如果尚未存在),选择“Go”作为环境。
  3. 在生成的launch.json文件中,找到或添加programargs等字段,并添加output字段来指定debug文件的输出目录。不过,直接指定debug文件(如DWARF信息)的输出位置并不直接受VSCode控制,这更多是由Go的构建工具(如go buildgo run)决定的。

方法二:使用构建标志

你可以在VSCode的任务配置中,或在命令行中直接运行Go构建命令时,使用-o标志指定输出文件的路径。虽然这主要影响可执行文件的位置,但debug信息通常包含在该文件中。

例如:

go build -o /path/to/output/directory/myprogram myprogram.go

注意事项

  • DWARF调试信息通常嵌入在生成的可执行文件中,而不是单独的文件。
  • 如果你使用的是dlv(Delve调试器),它可能会生成临时的debug信息文件,这些文件的位置和名称可以通过Delve的配置来管理。

通过上述方法,你可以更好地控制Go程序编译和调试过程中的文件输出。

回到顶部