使用 GDB 调试 go 程序
GDB 是 FSF (自由软件基金会)发布的一个强大的类UNIX系统下的程序调试工具。
为了使用 GDB 调试 go 程序,需要使用 -gcflags ”-N -l” 选项编译程序,这些选项阻止编译器使用内联函数和变量。
go build -gcflags "-N -l" -o myapp main.go
gdb myapp
GDB 常用命令:
显示代码的文件和行号,设置断点和反汇编:
(gdb) list
(gdb) list line
(gdb) list file.go:line
(gdb) break line
(gdb) break file.go:line
(gdb) disas
显示回溯和展开堆栈帧:
(gdb) bt
(gdb) frame n
显示局部变量,参数和返回值的堆栈框架的名称,类型和位置:
(gdb) info locals
(gdb) info args
(gdb) p variable
(gdb) whatis variable
显示全局变量的名称,类型和位置:
(gdb) info variables regexp
更多参考:
Google 官方指南
https://golang.org/doc/gdb
Using the gdb debugger with Go
https://blog.codeship.com/using-gdb-debugger-with-go/
The tips of using gdb to debug Golang program
http://nanxiao.me/en/the-tips-of-using-gdb-to-debug-golang-program/
Introduction to Go Debugging with GDB
https://lincolnloop.com/blog/introduction-go-debugging-gdb/
中文版 https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/11.2.md
大牛写的 GDB 入门
gdb Debugging Full Example (Tutorial): ncurses
http://www.brendangregg.com/blog/2016-08-09/gdb-example-ncurses.html
中文版 http://blog.jobbole.com/107759/
See Also
Nearby
- 上一篇 › 这编辑器除了代码块,优酷视频,还支持啥?
- 下一篇 › youbbs装不好