我正在嘗試使用 gdb 調(diào)試 Go 程序,并且設(shè)置斷點在所有包中正常工作,除了一個包。在我的 src 文件夾中,我有 3 個子文件夾,每個子文件夾都包含包:爬蟲/爬蟲模型/page.go網(wǎng)址工具/urlutils.go我無法在 page.go 中的任何行上設(shè)置斷點,因為它給了我以下錯誤:(gdb) break model/page.go:14No source file named model/page.go.Make breakpoint pending on future shared library load? (y or [n])我不明白為什么只有這個包會發(fā)生這種情況。“model/page”也是包含main函數(shù)的文件中的一個import,在程序運行時使用,所以必須在可執(zhí)行文件中。有沒有人有想法?
1 回答

泛舟湖上清波郎朗
TA貢獻1818條經(jīng)驗 獲得超3個贊
我找到了一個解決方案:
我需要在 go build 命令中添加一個標志:
go build -gcflags "-N -l" launch.go
這會禁用 go 編譯器執(zhí)行的代碼優(yōu)化,從而導致我的斷點工作。路徑是正確的,絕對路徑也不起作用。
不過,感謝 tomwilde 為我指明了一個方向。
- 1 回答
- 0 關(guān)注
- 216 瀏覽
添加回答
舉報
0/150
提交
取消