首先 生成gdb可调试的二进制文件: gdb -g -O0 -o test test.c ,-O0关闭编译时代码优化,防止list的时候代码的行数变动。
然后 gdb test 就可以对程序进行调试运行了
gdb 提供的命令如下:
l(list) ->打印出二进制文件的源代码,从第一行开始
break n ->在源代码的第n行设置断点
break 函数名 ->在给定的符号或者函数出设置断点
info break ->查看断点信息,列举出所有设置的断点
r(run)->开始运行程序,在第一个断点处暂停
n(next)-> 单步执行程序,下一个语句
c (continue) ->运行程序到下一个节点
p (print) ->打印变量的值
bt ->查看当前函数栈,包括main以及上层的函数名
up &down->调用栈上一个或者下一个函数
finish ->将当前函数执行完成
q ->退出调试
以上是windows ide提供的一些基本调试功能,gdb所具备的。
gdb 调试core dump文件: gdb test xx.core,core 文件是发生系统某种中断信号是,程序崩溃的内存布局文件,where定位到崩溃的位置。ulimit -c命令查看core文件大小,ulimit -c unlimited设置为大小不受限制