GDB 调试工具入门

版权声明:本文为博主原创文章,未经博主允许不得转载。 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

       

猜你喜欢

转载自blog.csdn.net/yz930618/article/details/84389789