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 @ 2019-08-05 17:37  MoonXu  阅读(193)  评论(0编辑  收藏  举报