Debugging 调试Golang代码并将其附加到本地进程

Debugging 调试Golang代码并将其附加到本地进程,debugging,go,binary,visual-studio-code,goland,Debugging,Go,Binary,Visual Studio Code,Goland,我有一个Golang代码,我通过go build为mac创建二进制代码 比如: 构建darwin amd64 myapp 当前Im能够运行二进制文件并查看日志 现在我想调试它,有没有办法用Goland或Intellij或VSCode调试二进制文件?使用delve进行常规调试可以从上面所有的IDE开始工作,但现在我想将其附加到我能够运行的二进制进程,如果可能的话,有什么想法吗?如果使用GoLand 2018.1+您应该能够使用run | attach to Local process功能,它将允许

我有一个Golang代码,我通过go build为mac创建二进制代码 比如:

构建darwin amd64 myapp

当前Im能够运行二进制文件并查看日志


现在我想调试它,有没有办法用
Goland
Intellij
VSCode
调试二进制文件?使用
delve
进行常规调试可以从上面所有的IDE开始工作,但现在我想将其附加到我能够运行的二进制进程,如果可能的话,有什么想法吗?

如果使用GoLand 2018.1+您应该能够使用run | attach to Local process功能,它将允许您调试正在运行的二进制文件

我建议您在编译二进制文件时关闭所有优化,并使用Go 1.10+编译,以获得最佳调试体验

此外,IDE可以在一次单击中启动二进制文件并对其进行调试,从而无需执行多个步骤

我可以提到的最后一个问题是,由于苹果在最新的开发工具中引入了一个bug,您目前无法通过Delve正确调试Go应用程序,因此无论您使用哪个编辑器。有关更多信息,请参阅我们的跟踪器:和Delve的跟踪器:

编辑:


上述问题已在GoLand 2018.1.1中得到解决。

您是否尝试过delve的
attach
命令?@JimB-我尝试过将新GoLand附加到本地进程,并且我能够在opend对话框中看到该进程,但无法调试该进程,出现错误
“无法附加到pid 97234:EOF”
@JimB-我已经安装了
delve
调试器,但我使用它从
vsCode
Goland
进行内部调试,请您提供我应该使用attach命令执行哪些步骤,我会尽快执行。您可能会看到这样的情况:--首先从命令行尝试,这样您就知道这是编辑器集成还是工具本身的问题。非常感谢1+,如果我使用解决方案,还有一个问题是它应该如何工作?我打开cli并执行二进制文件,然后转到Goland并使用“附加到本地进程”,但在单击进程对话框并找到PID之前,我浪费了一些时间,我是否应该采取不同的做法?你回答我的第一个问题,我关闭它,如果你能看一下评论,那就太好了……谢谢。我们刚刚发布了一个IDE的更新,这将使调试再次成为可能,而无需你做任何变通。请尝试一下,如果仍然不起作用,请在我链接的问题中回复。谢谢,给您带来不便,非常抱歉!谢谢,只有两个问题:更新后我应该删除
使用本机后端吗?最新的Goland 2018.1.1应该修复OSX问题。