Linux下GDB调试基本操作

Linux下C语言调试:使用GDB,调试的文件必须是debug版本可执行文件,以main.c为例,

gcc -o main main.c -g(生成debug版本,debug才可调试)

进入GDB:gdb main

l:显示代码

list main.c:num:显示指定文件的代码n行

b num:将断点添加到num行

b fun:将断点添加到fun入口处

info b:查看断点内容

d bpnum:删除断点

disable bpnum:将断点设置为无效(不加断点序号:设置所有断点)

enable bpnum:将指定断点设置有效(同上)

r:运行程序到第一个断点处

s:进入将要被调用的函数运行

n:执行下一行

c:执行到下一个断点(逻辑位置)

p val:查看变量值

display val:监视变量值

undisplay val:取消监视变量的值

p &val:查看变量地址

p str:显示数组所有元素

p *str@len:通过指向数组的指针显示数组元素

bt:显示堆栈调用

ptype::显示变量类型

info f:当前栈层的详细信息

info locals:打印出当前函数中所有局部变量及其值

info catch:打印出当前的函数中的异常处理信息

info display:查看display设置的自动显示信息

info registers:查看寄存器的情况

info all-registers:查看所有寄存器的情况(包括浮点寄存器)

printf i=6:修改被调试时运行的变量值

set language:查看gdb所支持的语言类型

info frame:查看当前函数的程序语言

info source:查看当前文件的程序语言

截图说明(有图有真相)




猜你喜欢

转载自blog.csdn.net/century_sunshine/article/details/79996110