GDB :代码调试工具

一、启动GDB

在终端中,使用以下命令启动GDB并加载你的可执行文件:

gdb ./your_program

会进入以下界面:
在这里插入图片描述

二、GDB的基本命令

1. 显示代码

listl:显示源代码,默认显示当前位置附近的10行代码。
list/l 行号:显示指定行号附近的代码。
list/l 函数名:显示指定函数的源代码。
在这里插入图片描述

2. 运行程序

runr:开始运行程序。如果程序中设置了断点,则运行到第一个断点处暂停;如果没有设置断点,则程序会一直执行到结束。
continuec:继续执行程序,直到遇到下一个断点或程序结束。

3. 设置断点

breakb:设置断点。
break 行号:在指定行号设置断点。
break 函数名:在指定函数开头设置断点。
break 文件名:行号:在指定文件的指定行号设置断点。
break if 条件:设置条件断点,只有当条件为真时,断点才会生效。
info breakpointsinfo b:查看所有设置的断点信息。
deleted:删除断点。
delete 断点编号:删除指定编号的断点。
delete:不带参数时,删除所有断点。
disable 和 enable:禁用或启用断点。
disable 断点编号:禁用指定编号的断点。
enable 断点编号:启用指定编号的断点。
在这里插入图片描述

4. 单步执行

nextn:执行下一行代码,不进入函数内部。
steps:执行下一行代码,如果当前行是函数调用,则进入函数内部。
finish:执行完当前函数内的剩余指令,并返回到函数被调用的位置。
在这里插入图片描述

5. 查看变量和内存

printp:查看变量的值。
print 变量名:显示指定变量的值。
print 表达式:计算并显示表达式的值。
x:检查内存的内容。
x/格式 地址:以指定格式显示从指定地址开始的内存内容。

6. 查看函数调用堆栈

backtracebt:显示当前的函数调用堆栈,包括函数名、参数和返回地址。

7. 修改变量值

set var 变量名 = 值:在调试过程中修改变量的值。

8. 退出GDB

quitq:退出GDB。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值