gdb

  • gdb(GNU Debugger)
  1. 设置断点
  2. 监视,修改变量
  3. 单步执行
  4. 查看堆栈
  • 利用gdb调试的前提
  1. 在程序的编译过程中使用-g选项   gcc -g -o test test.c
  2. 启动gdb  gdb/gdb filename(filename是可执行文件)
  • gdb基本命令用途
  1. 文件操作  file quit shell
  2. 显示源程序 list show
  3. 控制程序的执行 break 
  4. 程序的运行 
  5. 查看运行时数据 print display
  6. 显示函数调用堆栈的信息 where/bt
  • 文件操作
  1. file:装入调试程序 file filename
  2. quit:退出gdb
  3. shell:进入shell环境,执行shell命令 退出shell:exit
  • 显示源程序

list:

  1. list:没有参数,显示从当前行开始10行
  2. list n:显示从n行开始10行
  3. list start,end:显示从start到end行的代码
  4. list -:显示当前行之前的10行
  5. list +:显示当前行之后的10行
  6. list start,end 显示从start到end行的代码
  7. list main:显示函数main

show:

  1. show listsize 查看显示的行数
  2. set listsize 5   设置显示的行数
  • 控制程序的执行

break:

  1. break 10:在第10行设置断点
  2. break main:在函数入口处设置断点
  3. break main if i == 10
  4. info break/info break 1:查看断点
  5. delete/delete 1:删除所有断点/删除一个断点
  • 程序的运行
  1. run命令:运行程序,执行到断点处,或者直到程序结束
  2. continue命令:
  3. kill命令:程序从当前位置开始,执行到断点处,或者直到程序结束
  4. next命令:单步执行,不进入函数内部
  5. step命令:单步执行,不进入函数内部
  • 查看运行时数据

print命令:显示变量/表达式的值

  1. print i
  2. print i*j
  3. print array[3]@5:显示数组的值

display命令:预先设置一些要显示的表达式

  1. info display:显示当前设置的表达式的清单
  2. delete display:取消对设置的表达式的自动显示功能
  • 显示函数调用堆栈的信息
  1. breaktrace(bt)/where:显示函数调用的层次关系
  2. up[n]:向上移动层栈帧
  3. down[n]:向下移动层栈帧

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值