使用 GDB 调试 go 程序

By at • 2172次点击
ego008

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 1 Using the gdb debugger with Go https://blog.codeship.com/using-gdb-debugger-with-go/ 2 The tips of using gdb to debug Golang program http://nanxiao.me/en/the-tips-of-using-gdb-to-debug-golang-program/ 1

Introduction to Go Debugging with GDB https://lincolnloop.com/blog/introduction-go-debugging-gdb/ 1 中文版 https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/11.2.md 5

大牛写的 GDB 入门 gdb Debugging Full Example (Tutorial): ncurses http://www.brendangregg.com/blog/2016-08-09/gdb-example-ncurses.html 2 中文版 http://blog.jobbole.com/107759/ 7


GDB, 调试, 程序, 使用


目前尚无回复
登录 后发表评论