常用的 gdb调试命令
gdb调试core文件:
gdb -c core a.out
编译生成调试文件:gcc -o test test.cpp -g
[count]: 表示可选, count为行数
l [linenum] : list linenum行的代码;
l [+/-offset] : list当前行向下/向上offset行代码;
l [filename:linenum] : list filenmae文件linenum行代码;
l function: function函数
s[count]: step单行运行,有函数则进入函数;
info locals 打印当前变量
n[count]: next运行后面几行命令;
b <[linenum] 或 class::func>: 在linenum行或class::func函数处打断点;
delete [n]: 清除第n个断点;
clear: 清除刚才的断点;
disable breakpoints Num:关闭断点“Num”,使其无效,其中“Num”为 info breakpoints 中显示的对应值
enable breakpoints Num:打开断点“Num”,使其重新生效
bt: 栈;
frame n 调到n号栈
up/down [n] : 转到当前栈的上/下 n层栈;
info args: 当参数变量
info locals: 当前局部变量;
disassemble [func]: 输出当前[指定func]的汇编代码;
u: until 退出当前循环;