Linux下如何用GDB调试c++程序 [版本2]

37 篇文章 0 订阅
15 篇文章 0 订阅

文章转自:http://www.cnblogs.com/iyjhabc/p/3163649.html
版权归原作者。

使用gdb可以在命令行方便地调试,并且能以命令程序的方式调试源代码。

常用命令简写print-p,step-s,next-n

进入gdb

//方式一
gdb test//test 为可执行文件,使用-g编译得到
//方式二
gdb -q //不显示版权信息
file test //file命令打开文件

退出gdb

quit //退出命令

显示源代码

list//显示最初10行
list get_sum//显示函数
list 5,10//显示5到10行
list//再次用list,显示接下来11~20行
list test.c:get_sum//多文件工程时,显示test.c的函数

查找

search 字符串//向后查找第一个匹配字符串
reverse-search 字符串//向前查找

设置断点

break 7 //在第7行设置断点
break get_sum //在函数设置断点
break 7 if i==2 //根据条件设置断点
watch i //对变量设置断点,当变量变化时暂停运行
watch i if i==0 //watch后面可以添加条件语句

查看变量值和类型

print i //查看变量i的值
whatis i+get_sum //查看变量或者表达式的类型
p *p@len //打印长度为len 的数组,p为指向数组头地址的指针。
                //如果p不是指针而是数组名,则直接p 数组名即可

运行控制

run //运行
continue //继续运行
next //执行下一条语句,函数当做一条语句
step //单步,遇到函数则进入函数

断点管理

info breakpoints //查看当前所有断点
disable 断点编号//使断点无效
enable 断点编号//断点有效
clear 断点编号//取消断点

改变变量值

set variable i = 0 //设置变量值
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值