gpt4 book ai didi

gdb - 由于错误 "no source file named model/page.go",无法使用 Golang 在 GDB 中设置断点

转载 作者:IT王子 更新时间:2023-10-29 01:40:11 24 4
gpt4 key购买 nike

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

  • 爬虫/
    • 爬虫.go
  • 模型/
    • page.go
  • urlutils/
    • 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,在程序运行时会用到,所以它必须在可执行文件中。有人有想法吗?

最佳答案

我找到了一个解决方案:

我需要在我的 go build 命令中添加一个标志:

go build -gcflags "-N -l" launch.go

这会禁用 go 编译器执行的代码优化,这会导致我的断点工作。路径是正确的,而且绝对路径也不起作用。

尽管如此,还是感谢 tomwilde 为我指明了方向。

关于gdb - 由于错误 "no source file named model/page.go",无法使用 Golang 在 GDB 中设置断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19378021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com