GDB 程序调试常用命令

调试之前

若要在GDB中调试程序在编译时需要加上调试信息
在GCC中添加的方法

GCC -g a.c -o a.exe

或下面提供更符合GDB的调试信息

GCC -ggdb a.c -o a.exe

运行流程

命令作用
-start开始执行程序,在main函数第一句处停止
-continue、-c从当前位置继续执行
-run、-r执行程序到下一个断点或程序结束
-next、-n执行下一句,会进入其他函数
-step、-s执行下一步,进入其他函数
-set args <参数>指定运行的参数
-show arge查看已经设置的参数
-path <路径>设定程序运行的路径
-show path查看设定好的路径

变量、栈的操作

命令作用
-info <变量名> 、-i <变量名>查看局部变量
-info locals、-i locals查看所有局部变量的值
-set var <变量名>=<值>修改当前变量的值
-print <表达式>、-p <表达式>查看表达式的值
-display <变量名>跟踪一个变量,每次停止都显示这个变量
-x /<整数> <变量名>查看从变量名所指内存单元开始的整数个字节的内容
-backtrace、bt查看函数及其参数
-frame <栈层次(整数)> 、-f <栈层次>切换到指定栈,然后可以查看其他位置的变量,像全局变量、另一个局部变量

断点相关操作

命令作用
-break <行数、函数名>、-b <行数、函数名>在某行或某函数设置断点
-break <行数、函数名> if <表达式>在某行或某函数设置当表达式成立时的断点
-info breakpoints查看所有断点和它们的断点号
-delete breakpoints <断点号>删除断点
-disable breakpoints <断点号>禁用断点
-enable breakpoints <断点号>启用断点
-watch <变量名>当变量改变时中断
-info watchpoints、i watchpoints查看所有watch的变量
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值