gdb调试go程序

golang对gdb有很好的支持。

首先要对go程序进行编译,例如main.go,可以使用指令  go build -gcflags "-N -l" main.go

之后会生成一个名字为main的二进制可执行文件。

然后可以使用gdb main指令,进入调试模式。如果该程序需要加载一些具有特殊权限的文件,可以使用sudo gdb main指令。

如果该程序运行时,需要指定一些参数,可以用 “set args + 参数”指令进行参数指定。另外设定成功以后,可以使用show args进行参数查看。

参数如果包含参数名和参数值,中间需用“=”连接,如果具有多个参数名和参数值,那么每对参数名和参数值中间用空格分开,否则可能只有第一对参数名和参数值生效。

进入调试以后,用“r”进行运行,ctrl+c可以进行中断,“n”执行下一条程序,“break n”进行断点指定(这个位置的n表示第n条程序语句),“c”继续运行,“l”可以列出目前程序执行处的10条程序语句。

如果存在多个源文件,可以使用“break 文件名:n”来指定哪个文件的第几行,例如“break main.go:759”。

你可能感兴趣的:(go,gdb)