GDB不止支持C/C++语言
gcc -g test.c
gdb a.out
gdb的基本命令
Run/r 运行程序
quit 退出gdb模式
list 查看源代码
Break/b 打断点 (函数的地方 函数名字 在第几行打断点)
info b 查看断点的情况
Print/p 打印变量 p arr[0],p &arr[0]
Step/s 进去某一个具体的函数调试
gdb技巧
1 shell 去调终端的命令
2 日志功能 set logging on
3 watchpoint 观察变量是否变化
(gdb) print &i
$1 = (int *) Ox7fffffffe52c
(gdb) watch *Ox7fffffffe52c
Info watchpoint 来查看我们的watchpoint
4 checkpoint
调试core文件
gdb a.out
gdb ./a.out core.19761 == gdb 二进制文件 core文件
1调试程序程序挂掉 core
一个电脑 多人共享的,会对shell 做一些限制,core文件不会默认生成,用ulimit -a
ulimit -a命令,可以查看当前系统的ulimit设置
ulimit -c unlimited命令来设置核心文件大小限制为无限制
调试正在运行的程序
gcc -g test_for.c
./a.out & 后台运行
gdb -p pid