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:查看当前文件的程序语言

截图说明(有图有真相)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值