gdb
backtrace(简写为bt
命令查看函数调用的栈帧:
nfo(简写为i)
查看函数中局部变量的值: i locals
查看函数当前局部变量的值用frame(简写为f)
选择1号栈帧然 frame 1
可以利用finish
命令让程序一直运行到从当前函数返回为止
continue(简写为c)
命令运行到程序结束
set var 变量=XX
命令进行变量赋值,运行调试程序,验证思路正确性
display sum/input
命令时刻观察值的变化
undisplay 编号
进行取消跟踪显示
delete breakpoints 断点编号(info 出来的编号)
进行断点删除
enbale 断点编号
启用断点
break 15 if sum!=0
仅当sum!=0的时候在15行设置断点
watch
命令设置观察点
还有一种经常发生的段错误,算是一条规律,如果某个函数的局部变量发生访问越界
,有可能并不立即产生段错误,而是在函数返回时产生段错误
。
gdb -tuia.out 将屏幕分成两个部分,上面显示源代码
watch n
在某一循环处,往往希望能够观察一个变量的变化情况,这时就可以键入命令"watch"来观察变量的变化情况
c 使程序继续往下运行,直到再次遇到断点或程序结束;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本