GDB常用命令(3)--断点/监视点/栈操作和变量相关

GDB常用命令(3)--断点/监视点/栈操作和变量相关

3. 断点/监视点/栈操作和变量相关

变量(variable)相关

命令 说明
print [file:]var
p [file:]var
输出(指定文件中)变量var的值
print *arr@len 输出数组arr的前len个成员
p/format var 以指定格式输出变量var的值。
x:16进制数值;d:有符号整数; u:无符号整数; 
o:八进制数值; [t|b]:二进制数值; c:字符; 
f:浮点数; a:16进制地址;...
x/w addr 以二进制方式输出指定地址addr处的4字节
print var=value 改变变量var的值为value

断点和监视点(breakpoint, watchpoint)

命令 说明
break [file:][line|func]
b [file:][line|func]
在(文件file)第line行/函数func处设置断点
break (+|-)offset 在程序当前运行处后/前offset行设置断点
break *addr 在地址addr处设置断点
break 在下一指令处设置断点
break position if condition 当表达式condition为真时在position处暂停程序
cond n [expr] 在断点n处设置新的暂停条件expr; 如expr为空则清除断点处条件
tbreak ... 临时断点。一旦程序运行停于此处,则禁止断点
rbreak regex 在所有匹配正则表达式regex的函数处设置断点
break line thread thid 在线程thid中line行设定断点
info break 显示已定义的所有断点
clear [file:][func|line] 删除指定处断点;如未指定断点位置,则清除下一条指令处断点
delete n_or_range
d n_or_range
删除断点n或指定范围range中的断点
enable n_or_range 允许断点n或指定范围range内断点
enable once n 允许断点n,仅生效一次
disable n_or_range 使断点n失效
ignore n count 指定忽略断点n的次数(count)
catch event 捕获到指定的event后暂停程序运行,event可以是catch,throw,exec,fork,vfork,load,unload等
watch expr 为表达式expr设置观察点,当expr值发生变化时,挂起进程

栈(stack)相关

命令 说明
backtrace [n]
bt [n]
打印栈中的所有frame;或最内层n(n>0)帧/最外层n(n<0)帧
frame [n] 选择第n帧/地址为n的帧,未指定n则显示当前帧
up n 向上选择n帧
down n 向下选择n帧
此条目发表在  C/C++Unix-like 分类目录,贴了   标签。将 固定链接加入收藏夹。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值