首页  >  文章  >  后端开发  >  在GoClipse中调试Go程序时如何避免进入汇编代码?

在GoClipse中调试Go程序时如何避免进入汇编代码?

Linda Hamilton
Linda Hamilton原创
2024-10-23 23:19:30250浏览

How to Avoid Stepping into Assembly Code while Debugging Go Programs in GoClipse?

使用汇编代码在 GoClipse 中调试 Go 程序

尝试在 GoClipse 中调试 Go 程序时,用户可能会遇到调试器无法正常运行的问题单步执行汇编代码而不是 Go 代码。尽管正确安装了 gdb 进行调试,但还是会出现这种情况。

设置断点并通过 Eclipse 调试器运行程序时,它会输入“rt0_darwin_amd64.s”等汇编代码文件,并重点关注“MOVQ $_rt0_go”等行(SB),AX。”此行为可能会使调试变得困难。

要解决此问题,请在 Go 程序停止时验证“调试”视图的内容。如果它显示以“main() at rt0_darwin_amd64.s”开头的堆栈跟踪,则表明调试器已在用 C 编写的内部运行时“main”函数处暂停。

此行为由第一个控制启动配置选项中的选项。要解决此问题,请将选项设置为“main.main”以在实际的 Go main 函数处停止,或者简单地取消选中该选项。

或者,如果调试器在内部运行时“main”函数处停止,您可以单击“运行/恢复”(F8) 继续执行。这将允许您按预期单步执行 Go 代码并进行调试。

以上是在GoClipse中调试Go程序时如何避免进入汇编代码?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn