gdb 基本用法小结

 1. 当程序出错并产生core 时快速定位出错函数的办法
    gdb 程序名 core文件名(一般是core,也可能是core.xxxx)
   
2. 调试程序使用的键

rrun运行.程序还没有运行前使用
c            cuntinue  运行到下一断点处
qquit                       退出
tabtab命令补全功能
h   help帮助
sstep跟入函数
nnext执行下一行的代码。如果是函数调用,也当作一行代码,执行到此函数返回
b   breakpoint

设置断点,用法:(1)b 函数名 (2)b 文件名:行号

info binfo breakpoints查看断点数
deldelete删除断点:delete 断点号
list列出代码行。一次列10 行。 也可在 list 后面跟上 文件名:行号
watchwatch观察一个变量的值。每次中断时都会显示这个变量的值
whatwhat显示变量的类型
pprint打印一个变量的值。print 也可改变一个值,通过指令 p b = 100,变量b 的值就变成100了
startstart从主函数 main 开始运行调试
finfinish运行直至当前函数返回
### GDB调试器使用方法 #### 编译带有调试信息的程序 为了能够有效地利用GDB进行调试,编译源代码时应当加入`-g`参数以便包含必要的调试信息。例如,如果有一个C文件名为`test.c`,可以通过下面这条指令将其编译成可执行文件: ```bash gcc -g test.c -o test ``` 此操作会在生成的目标文件中嵌入额外的信息用于支持后续的调试工作[^3]。 #### 启动GDB并加载目标程序 启动GDB的方式很简单,只需在终端输入`gdb`加上待调试的应用名称作为参数即可。比如针对上面提到的例子可以这样调用: ```bash gdb ./test ``` 一旦进入GDB环境之后,就可以通过一系列命令来进行断点设置、单步执行以及变量查看等动作了[^1]。 #### 基础命令概览 以下是几个常用的GDB基础命令列表: - `run`: 开始运行被调试的程序; - `breakpoint function_name/line_number`: 设置断点于指定函数或者某一行处; - `continue`: 继续执行直到遇到下一个断点为止; - `next`: 执行下一条语句而不深入子过程内部; - `step`: 进入当前行所调用的方法体内继续跟踪其逻辑流程; - `print variable/expression`: 显示特定变量或表达式的值; 这些只是入门级别的功能介绍,实际上GDB还提供了许多高级特性供更复杂的场景需求使用[^2]。 #### 安装方式简介 对于大多数现代Linux发行版而言,默认情况下已经预装好了GDB工具链。如果没有的话,则可以根据具体平台选用合适的包管理器来完成安装任务。例如,在基于Debian系统的机器上可通过如下命令快速部署最新稳定版本: ```bash sudo apt-get update && sudo apt-get install gdb ``` 而对于RedHat系操作系统则应采取yum/yumdnf途径实现相同目的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值