今天以一个小例子讲解一下gdb 调试。
#include<iostream>
using namespace std;
int main()
{
int a = 10, b = 0, c = 21;
b = a + c;
cout <<"b = "<<b<<endl;
b = c - a;
cout<<"b = "<<b<<endl;
cout<<"hello!\n";
return 0;
}
编译命令: g++ -g hello.cpp -o hello // -g 参数必须带 否则显示不了源码
gdb 自带了 TUI ,类似GUI 一样,可以显示源码, 在整个调试过程中。
[root@SpinfoServer src]# gdb -tui ./hello
显示如下图:
(gdb) break 7 // 第7行设断点
(gdb) r // 运行
如下图:
接下来就是使用 gdb调试常用命令 查看变量 、堆栈信息、单步调试等 ,具体可网上进行查询。