版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yz930618/article/details/84389789
GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具,通常在服务器上开发C/C++时,该工具是必不可少的。下面,将通过例子详细介绍GDB的使用。
1. 源程序
#include<iostream>
using namespace std;
int c=0;
int& findMax(int &a,int &b)
{
c= a>=b?a:b;
return c;
}
int main() {
int a = 1;
int b = 2;
int &c = findMax(a, b);
cout << c << endl;
return 0;
}
2. 编译源程序
编译并生成可执行文件:
gcc -g -c main.cpp
g++ -o main main.o
[admin@host-172-20-121-97 test]$ ls
main.cpp
[admin@host-172-20-121-97 test]$ gcc -g -c main.cpp
[admin@host-172-20-121-97 test]$ ls
main.cpp main.o
[admin@host-172-20-121-97 test]$ g++ -o main main.o
[admin@host-172-20-121-97 test]$ ls
main main.cpp main.o
3. 调试可执行文件
- 启动GDB: gdb main
- 列出源码:l
- 打断点,查看断点信息:break n; info break
- 运行程序,在断点处停止,查看当前位置:r; where
- 进入函数内部,单步执行,查看变量值,完成函数:s; n; p i; finish
- 继续执行,退出gdb: c ; q