GDB 调试指令
GDB 调试指令
run(或 r):启动程序的执行,或者重新启动程序的执行。如果之前已经运行过程序,使用 run 将重新开始执行。
continue(或 c):继续执行程序,直到下一个断点或程序结束。
break(或 b):设置断点。可以在指定的文件名和行号上设置断点,或者在函数名上设置断点。
break file.c:10:在 file.c 文件的第 10 行设置断点。
break function_name:在名为 function_name 的函数入口处设置断点。
delete(或 d):删除断点。可以指定断点编号或使用 delete 命令删除所有断点。
delete 1:删除断点编号为 1 的断点。
info breakpoints(或 i b):显示当前设置的断点列表。
step(或 s):单步执行程序,逐行执行,并进入函数内部。
next(或 n):单步执行程序,逐行执行,但不进入函数内部。
finish:执行当前函数的剩余部分,然后停止在调用函数的位置。
print(或 p):打印变量的值或表达式的结果。
print variable_name:打印变量 variable_name 的值。
print expression:计算并打印表达式的值。
backtrace(或 bt):显示当前的函数调用栈。
quit(或 q):退出 GDB 调试器。
arm-none-eabi-gdb example.elf
tar ext:50000
i b //查看所有断点
i r //查看内存寄存器
break 16 //设置断点,在源程序第16行处。
break func //设置断点,在函数func()入口处
info break //查看断点信息。
list //查看调试文件
n //单步命令,next命令简写。
r //全速运行,run命令简写
//直接回车表示,重复上一次命令
disassemble //查看执行到哪一条指令
c //继续运行程序,continue命令简写。
bt //查看函数堆栈。
finish //退出函数。
p i //打印变量i的值,print命令简写。
bt /查看调用堆栈
info registr //查看寄存器
delete break 1 //
删除第1个断点,要是删除没有的断点,就会提示No breakpoint number 你写错的断点号
。\
run 1 2 3 //
开始调试后,发现直接到了第4个断点处
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~