Python Exception <class 'gdb.error'> Line number 50 out of range; /home/bfosberry/.go/src/github.com/bfosberry/gdb_sandbox/main.go has 49 lines.:
Error occurred in Python command: Line number 50 out of range; /home/bfosberry/.go/src/github.com/bfosberry/gdb_sandbox/main.go has 49 lines.
Goroutine 调试还不稳定
处理 goroutines 往往不稳定;我遇到过执行简单命令产生错误的情况。现阶段你应该做好处理类似问题的准备。
gdb 支持 Go 的配置非常麻烦
运行 gdb 支持 Go 调试的配置非常麻烦,获取正确的路径结合与构建 flags,还有 gdb 自动加载功能好像都不能正常的工作。首先,通过一个 gdb 初始化文件加载 Go 运行时支持就会产生初始化错误。这就需要手动通过一个源命令去加载,调试 shell 需要像指南里面描述的那样去进行初始化。
我什么时候该使用一个调试器?所以什么情况下使用 gdb 更有用?使用 print 语言和调试代码是更有针对性的方法。
当不适合修改代码的时候
当调试一个问题,但是不知道源头,动态断点或许更有效
当包含许多 goroutines 时,暂停然后审查程序状态会更好
“Debugging #golang with gdb” – via @codeship —— from Tweet
GDB+GDBserver无源码调试Android 动态链接库的技巧
使用hello-gl2建立ndk-GDB环境(有源码和无源码调试环境)
在Ubuntu上用GDB调试printf源码