gdb调试

2018年10月10日

gdb调试

Bash

gdb 调试
进行gdb调试前首先安装gdb<apt-get install gdb>, gcc/g++编译时需要添加-g选项
进入gdb之后的明林可以简写输入:l/list b/break r/run n/next p/print i/info q/quit等
注意linux的显示艺术“<>”代表必须输入参数,“[]”代表可选输入参数,很多地方都是如此。

release:
gcc -O2 -std=c99 -o apprelease.out app.c 
g++ -O2 -std=c++11 -o apprelease.out app.cpp 

debug:
gcc -g -o -std=c99 appdebug.out app.c 
g++ -g -std=c++11 -o appdebug.out app.cpp 
gdb appdebug.out


list 显示源文件:
    list 没有参数,显示当前行之后或周围的10多行
    list start,end 显示从行号start到end之间的代码行。

break 设置断点 
    break linenum                   在当前文件指定行linenum处设置断点
    break function                   在当前文件函数function的入口处设置断点

run 运行程序

step 单步跟踪
    step [N] 如果遇到函数调用,并且该函数编译时有调试信息,则会进入该函数内执行。
    next [N] 遇到函数调用时,执行整个函数。

print 查看运行时的数据
    print i                                显示当前变量i的值
    print &i                              显示变量i的存放地址
    print array@5                   显示从array(数组名)开始的5个值
    print array[2]@3               显示从array第二个元素开始的3个数组元素的值
    whatis i                             显示变量i的数据类型

info 显示断点 
    info breakpoints/break/watchpoints  [num]     例如: i b
    
continue 连续执行
    continue 从当前行开始,连续执行到下一个断点处,或者到达该程序结束。命令中可以给出一个数字N,忽略其后N-1次断点

clear(清除所有已定义的断点)
delete(删除所有断点,后面可给出断点号码,多个断点用空格分开)
disable(停用指定断点,停用多个则用空格分开)
enable(激活被停用的断点,各断点号码用空格分开)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值