【Linux】gdb调试器--

gdb:调试器

调试器的功能:

调试、观察程序的运行错误,通常目的是为了排查程序的运行错误

程序错误的分类:

编译错误、链接错误、运行时错误(运行时逻辑不对以及运行时程序崩溃)

调试的前提

程序必须是一个debug版本的程序; gcc/g++默认生成releas版本的程序,若要生成debug版本,则使用-g选项,例如:gcc -g test.c -o test.exe

可执行程序的分类:

debug-调试版:不对代码进行优化,并且加入调试程序信息;

release-发布版:不包含调试信息,并且对代码进行优化

gdb常用指令

gdb ./test.exe 表示调试test.exe文件

流程控制

run:直接运行程序

start:开始逐步调试

list:查看调试行附近代码 例:list test.c:12

next:逐过程–遇到函数直接运行完毕

step:逐语句–遇到函数则进入函数内部继续调试

until:直接运行到指定位置 例:until test.c :16 直接运行到16行

continue:继续从当前位置运行

break:打断点 例如:break test.c:14 在test.c文件的第14行处添加断点

info break:查看断点信息

delete:删除断点 例:delete id(后跟断点id,可用info break查看)

watch:变量监控断点–当变量发生变化的时候停止调试,后跟变量名

quit:退出gdb调试

内存控制

 print:查看嚯设置变量内容; 例:print var_name   print var=val

 backtrac:查看函数调用栈--通常用于检测程序运行时的崩溃位置

注意:以上大部分操作也可以用首字母简写实现,但有个别指令首字母存在歧义,不能简写,在实际操作时要注意。

猜你喜欢

转载自blog.csdn.net/weixin_43962381/article/details/113518180