1、基础命令
如果想要使用gdb调试,需要在gcc生成可执行文件时加上-g参数。
gcc test.c -o test.out -g
gdb test.out //开始执行可执行文件,进入调试模式
r
运行,如果不加断点,程序不会停止,直到运行结束。
l
(小写L),显示10行的源文件代码,如果希望接着显示,继续输入l;
b n
(b = break)在n行处设置一个断点;
info b
显示所有断点
printf a
输出变量a的值
printf &a
输出变量a的地址
d n
(delete)删除第n个断点
n
(next)执行下一步
step
进入函数内部
2、通过core文件查看错误点
由于shell终端的默认限制,core文件默认不会生成。
可以通过ulimit -c unlimited 修改core文件的大小。
运行可执行文件后,会输出core文件
通过执行 gdb ./a.out core.123(a.out 可执行文件,core.123为执行a.out生成的core文件)
会显示出出现错误的位置。
3、gdb调试运行的进程
gdb -p pidnum(进程号)