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 使程序继续往下运行,直到再次遇到断点或程序结束;

 

posted @   MoonXu  阅读(195)  评论(0编辑  收藏  举报
编辑推荐:
· 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搭建本
点击右上角即可分享
微信分享提示