由于错误“没有名为 model/page.go 的源文件”

我正在尝试使用 gdb 调试 Go 程序,并且设置断点在所有包中正常工作,除了一个包。在我的 src 文件夹中,我有 3 个子文件夹,每个子文件夹都包含包:

  • 爬虫/

    • 爬虫

  • 模型/

    • page.go

  • 网址工具/

    • urlutils.go

我无法在 page.go 中的任何行上设置断点,因为它给了我以下错误:

(gdb) break model/page.go:14

No source file named model/page.go.

Make breakpoint pending on future shared library load? (y or [n])

我不明白为什么只有这个包会发生这种情况。“model/page”也是包含main函数的文件中的一个import,在程序运行时使用,所以必须在可执行文件中。有没有人有想法?


眼眸繁星
浏览 197回答 1
1回答

泛舟湖上清波郎朗

我找到了一个解决方案:我需要在 go build 命令中添加一个标志:go build -gcflags "-N -l" launch.go这会禁用 go 编译器执行的代码优化,从而导致我的断点工作。路径是正确的,绝对路径也不起作用。不过,感谢 tomwilde 为我指明了一个方向。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go