使用 GoClipse 调试 Go 程序:用汇编代码代替 Go 代码问题
使用 GoClipse 调试 Go 程序时,可能会遇到以下情况:即使在 Go 程序行上设置了断点,调试器也会逐步执行汇编代码而不是 Go 代码。如果您尚未安装所需的 GNU 调试器 (gdb),则可能会出现此问题。
要解决此问题,您可以按照您提到的通过 HomeBrew 安装 gdb 的说明进行操作。但是,安装 gdb 后,您可能仍然会遇到相同的问题。
调查 Debug 视图
出现此问题时,请检查 Debug 视图。如果它显示以“main”函数开头的堆栈跟踪,后跟 macOS 系统的 rt0_darwin_amd64.s 中的行号(Windows 系统的 rt0_windows_amd64.s),则表明调试器已在内部运行时“main”上自动停止” 函数,用 C 编写。
调整启动配置选项
要解决此问题,请转到启动配置选项。第一个选项控制程序是否应在此内部“main”函数上停止。您可以将其更改为“main.main”以在 Go main 函数处停止,或者完全取消选中该选项以禁用运行时“main”函数上的自动停止。
调整启动配置选项后,您应该能够在不单步执行汇编代码的情况下调试 Go 程序。单击运行/恢复 (F8) 继续调试。
以上是为什么使用 GoClipse 调试时看到的是汇编代码而不是 Go 代码?的详细内容。更多信息请关注PHP中文网其他相关文章!