Linux中的gdb调试器

目录

一、程序的两种模式

二、gdb的常用调试命令


一、程序的两种模式

程序通常有两种模式,分别是debug模式和release模式

debug模式可以调试,但是release模式不支持调试,因为debug模式添加了调试信息,因此debug的程序大小比release大

gdb默认采用release模式生成程序,若要生成debug模式的程序需要加上 -g 选项

接下来编译源码分别生成可执行程序test_debug.exe 和 test_release.exe

debug的文件大小比release文件更大

从debug文件中可以读取到调试信息,从release文件中读取不到

二、gdb的常用调试命令

gdb  debug文件:开始调试该debug文件

q/quit:退出调试

l/list:显示源代码(只显示十行,但是gdb会记住最近一次使用的命令,所以连续回车可以显示更多行代码)

l/list  函数名:查看对应函数的代码

l/list 数字n:查看第n行的代码

r/run:运行程序

b/break  函数名:给该函数入口处打上断点

b/break 数字n:在第n行打上断点

i/info b:查看所有断点

d 断点编号:删除该断点

disable 断点编号:禁用断点

enable 断点编号:启用断点

n/next:逐过程调试

s/step:逐语句调试

p/print 变量n:查看调试过程中变量n的值

display 变量n:常显示变量n的值

undisplay 变量n:取消变量n的常显示

c/continue:运行至下一断点处

finish:运行结束当前所在函数

until 数字n:跳转运行至当前所在函数指定行

i/info locals:查看当前栈帧局部变量的值

set var 变量n=?:修改调试过程中变量n的值

bt/breaktrace:查看各级函数调用及参数

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南林yan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值