GDB 用法

这可以算是一条规律,如果某个函数的局部变量发生访问越界,有可能并不立即产生段错误,而是在函数返回时产生段错误

 

 

 10.1. gdb 基本命令1

命令

描述

backtrace (或bt

查看各级函数调用及参数

finish

连续运行到当前函数返回为止,然后停下来等待命令

frame (或f ) 帧编号

选择栈帧

info (或i locals

查看当前栈帧局部变量的值

list (或l

列出源代码,接着上次的位置往下列,每次列10

list 行号

列出从第几行开始的源代码

list 函数名

列出某个函数的源代码

next (或n

执行下一行语句

print (或p

打印表达式的值,通过表达式可以修改变量的值或者调用函数

quit (或q

退出gdb 调试环境

set var

修改变量的值

start

开始执行程序,停在main 函数第一行语句前面等待命令

step (或s

执行下一行语句,如果有函数调用则进入到函数中

 10.2. gdb 基本命令2

命令

描述

break (或b ) 行号

在某一行设置断点

break 函数名

在某个函数开头设置断点

break ... if ...

设置条件断点

continue (或c

从当前位置开始连续运行程序

delete breakpoints 断点号

删除断点

display 变量名

跟踪查看某个变量,每次停下来都显示它的值

disable breakpoints 断点号

禁用断点

enable 断点号

启用断点

info (或i breakpoints

查看当前设置了哪些断点

run (或r

从头开始连续运行程序

undisplay 跟踪显示号

取消跟踪显示

 10.3. gdb 基本命令3

命令

描述

watch

设置观察点

info (或i watchpoints

查看当前设置了哪些观察点

x

从某个位置开始打印存储单元的内容,全部当成字节来看,而不区分哪个字节属于哪个变量

 

http://learn.akae.cn/media/ch10s01.html

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值