1、命令介绍:
GDB Commands:断点命令列表,让GDB在每次到达某一断点时自动执行一组命令。
2、用法:
2.1、整体用法:
commands breakpoint-number // breakpoint-number为断点号,表示将以下命令添加到指定的断点上
。。。
commands // 任何有效的GDB命令,一行一个,以end结束
。。。
c
end
2.2、命令详解:
silent: 使GDB更安静地触发断点,用于在每次运行到断点时,不再显示详细的断点信息。
continue©: 作为命令列表的最后一个命令,让GDB在完成命令列表中命令后继续自动执行程序。
3、用例:
3.1、源码:
// abc.cpp
using namespace std;
void func1() // 行号为10
{
cout << "before" <<endl;
}
int main()
{
func1();
return 0;
}
输出:before
3.2、GDB Commands使用:
gdb a.out // 进入GDB
b abc.cpp:10 // 打上断点
commands 1 // 打在第一个断点上
silent // 安静的执行commands
prints "after" // commands命令
return // commands命令
c // commands命令:继续执行
end // commands命令结束符
run // 运行程序
输出:after
参考资料:
1、[GDB]断点(breakpoint )命令列表:commands、silent
2、书籍《软件调试的艺术.pdf》2.11节
3、gdb commands命令用法