GDB调试分为两种:实时调试、core文件调试
一、实时调试:
编译代码时使用,使用 -g 选项,比如:gcc -g -o test test.c,调试时,使用 gdb ./test 进入调试模式。
常用命令
b:设置断点
r;开始运行
p:打印变量值
c:继续运行
可以看到,随着程序的执行,sum逐渐变化,而且每次的增加都为i的值。
二、core文件调试
如果程序运行中因段错误发生崩溃结束,便会生成core文件,使用这个 core 文件来回溯程
序崩溃的时候发生了什么。
首先使用ulimit -c 命令查看,如果是0 ,那就无法生成core文件,需要修改,修改命令为
ulimit -c unlimited,然后使用 gcc -g test.c -o test 命令编译,执行 ./test 此时就是报端错误,在当前目录下,有一个core文件,gdb -c ./test core,打开后,就会看到gdb帮我们定位到了出错的位置。