在vs-code

时间:2018-03-01 05:39:26

标签: debugging go visual-studio-code

如何在vs-code中调试go-lang时指定生成的调试二进制文件的路径?

我尝试修改launch.json文件但不起作用。 我现在可以在vs-code中很好地调试程序,唯一的问题是每次我完成调试,在我的项目目录下生成一个调试二进制文件,如下图所示。

我想知道我可以指定生成的调试二进制文件的目录吗?

我正在拍摄我的问题: image

2 个答案:

答案 0 :(得分:0)

接下来是vscode-go issue 1345:“关闭调试会话后删除由delve创建的二进制文件”

  

delve是Golang的调试器,或者至少是Go扩展使用的调试器。   使用delve调试某些内容时,它会在当前目录中创建一个大型二进制文件。如果您调试主函数(dlv debug),则会得到“debug”。如果您调试测试函数(dlv test),则会得到“debug.test”。

     

在正常的钻研用法中,当你完成后,你就退出了钻石。 Delve然后删除此文件。显然VSCode没有优雅地终止(SIGKILL?)钻孔,这意味着该文件会一直存在。

所以这是研究,但尚未解决

2018年7月更新: Ramya Rao 添加this issue

  

我终于有了更新!

     

结果有一个名为Detach的命令可以在delve服务器上调用,这将导致生成的调试二进制文件所需的清理
  要在下一次更新Go扩展程序(将在星期五或下周初)之前获得此修复程序,请按照以下说明操作:

           

只要正在调试的程序没有产生自己的进程(例如我已经使用deve记录了上游问题的Web服务器),该修复程序对我有用。

     

我很感激,如果这里的人可以尝试修复并分享任何反馈。

     

为生成的调试二进制文件提供输出路径所需的更改位于launch.json文件中。
  在调试配置中使用属性输出   请不要修改package.json文件。

答案 1 :(得分:0)

这个调试文件是在调试时通过钻取生成的,应该在调试后删除,这似乎是vs-code的扩展错误,请参阅链接here