我有一个 Golang 代码,我通过 go build 从它的二进制文件为 mac 创建,例如:
build darwin amd64 myapp
目前我能够运行二进制文件并查看日志。
现在我想调试它,有没有办法用Goland
or Intellij
or调试二进制文件VSCode
?上面的所有 IDE 都可以进行常规调试,delve
但现在我想将它附加到我能够运行的二进制进程中,如果可能的话,知道吗?
我有一个 Golang 代码,我通过 go build 从它的二进制文件为 mac 创建,例如:
build darwin amd64 myapp
目前我能够运行二进制文件并查看日志。
现在我想调试它,有没有办法用Goland
or Intellij
or调试二进制文件VSCode
?上面的所有 IDE 都可以进行常规调试,delve
但现在我想将它附加到我能够运行的二进制进程中,如果可能的话,知道吗?
如果您使用 GoLand 2018.1+,您应该能够使用 Run | 附加到本地进程功能,它将允许您调试正在运行的二进制文件。
我建议您在关闭所有优化的情况下编译二进制文件并使用 Go 1.10+ 进行编译,以获得最佳的调试体验。
此外,IDE 只需单击一下即可启动二进制文件并对其进行调试,无需执行多个步骤。
我可以提到的最后一个问题是,由于 Apple 在最新的开发人员工具中引入了一个错误,您目前无法通过 Delve 正确调试 Go 应用程序,因此无论您使用哪种编辑器。有关更多信息,请参阅我们的跟踪器上的问题:https : //youtrack.jetbrains.com/issue/GO-5527 和 Delve 的跟踪器上的问题: https ://github.com/derekparker/delve/issues/1165
编辑:
上述问题已在 GoLand 2018.1.1 中得到解决。