关于gdb调试
①gcc test.c -o test -g(生成所需文件)
②gdb test (进入gdb模式)
③set args a b(设置参数a,b,空格隔开)
④show args(获取所设置的参数)
⑤使用q或quit退出gdb模式
gdb模式下的命令:
查看当前文件的代码:
list 显示行代码
l 行号(显示指定行上下文的代码)
l 函数名(从指定函数开始显示代码)
查看非当前文件的代码:
list/l 文件名:行号
list/l 文件名:函数名
设置显示的行数:
show listsize
set listsize
设置断点:
b / break 行数
b / break 函数
b / break 文件名:行号
b / break 文件名:函数
查看断点:
info / i b / break
删除断点:
d / del / delete 断点编号
设置断点无效:
dis / disable 断点编号
设置断点生效:
ena / enable 断点编号
设置条件断点:
b / break 10 if i==5
调试:
运行GDB程序:
start(程序停在第一行)
run(程序运行到断点处才停)
继续运行到下一个断点停:
c / continue
向下执行一行代码(不会进入函数体)
n / next
变量操作:
p / print 变量名 (打印变量值)
ptype 变量名 (打印变量类型)
向下单步调试(遇到函数进入函数体):
s / step
finish(跳出函数体)
自动变量操作:
设置:
display num (自动打印指定变量的值)
显示:
i / info display
删除:
undisplay(编号)
其他操作:
set var 变量名=变量值
until(跳出循环)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人