MrD*_*Duk 8 debugging debug-symbols go delve goland
我已经建立了我的二进制,: go build -gcflags "$gc_flags" -o ./bin/grafana-server ./pkg/cmd/grafana-server,其中$gc_flags是'-N -l'。
当我./bin/grafana-server在调试器 (Goland) 中运行此文件并附加到它时,并未加载所有符号。此外,一些断点会显示以下消息:
/Users/.../file.go:186 没有代码
我想调试的代码如下:
我添加到原始项目的部分是 lines 186-199。您可以看到执行已进入for _, ..循环(第 196 行),表明query有数据,并且我们能够使用它从数据库中query通过repo.Find(query). 但是,query在我的调试器中找不到:
所以我不确定此时发生了什么。不幸的是,我对 golang 真的很陌生;这让我很难取得任何进展。
使用 Go 1.10 或更新版本时,为了获得更好的调试体验并移除编译器所做的优化,您需要使用-gcflags="all=-N -l".
在 Go 1.10 之前,您需要使用-gcflags="-N -l".
在编译用于调试的应用程序时,IDE 会自动添加这些标志。
| 归档时间: |
|
| 查看次数: |
1748 次 |
| 最近记录: |