C++

GBD调试常用命令

命令简写含义
file <file>-装入待调试的可执行文件
runr执行程序(至结束):执行被调试的程序,其会自动在第一个断点处暂停执行。
start-开始调试(至main开始处暂停)
steps执行一条程序,若为函数则进入内部执行
nextn执行一条程序,不进入函数内部:令程序一行代码一行代码的执行。
continuec连续运行:程序在某一断点处停止运行后,使用该指令可以继续执行,直至遇到下一个断点或者程序结束。
finish-运行到当前函数返回
killk终止正在调试的程序
listl列出源代码的一部分(10行)
print <tmp>p <tmp>打印变量的值
info localsi locals查看当前栈帧的局部变量
backtracebt查看函数调用栈帧编号
frame <id> f <id>选择栈帧(再看局部变量)
display <tmp> -每次自动显示跟踪的变量的值
undisplay <tmp>-取消跟踪
break <num>b设置(调试)断点
delete breakpoints <num>d breakpoints <num>删除断点,不加行号则删除所有
disable breakpoints <num>-屏蔽断点
enable breakpoints <num>-启用断点
info breakpointsi breakpoints显示所有断点
break 9 if sum != 0-根据条件设置断点(sum不等于0时,第9行设断点)
set var sum=0-修改变量的值(使sum变量的值为0)
watch <tmp>-监视一个变量的值
examine <...> -查看内存中的地址
jump <num>j跳转执行
signal <...>-产生信号量
return-强制函数返回
call <fun>-强制调用函数
make <...>-不退出gdb下重新产生可执行文件
shell <...>-不退出gdb下执行shell命令
quitq退出gdb环境

Reference:

This is just a placeholder img.