本文主要是介绍GDB调试c/c++程序(本人用于debugOpenFoam里面的C++源文件),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
个人理解:
1.不用下载额外的软件
2.gdb hello命令后面跟的是一个g++编译后的可执行文件。
使用GDB
一般来说GDB主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,我们必须要把调试信息加到可执行文件中。使用编译器(cc/gcc/g++)的 -g 参数可以做到这一点。如:
> g++ -g hello.cpp -o hello
> gcc -g hello.c -o hello
tips:上面的是编译C++程序,下面编译的是C。
如果没有-g,你将看不见程序的函数名、变量名,所代替的全是运行时的内存地址。当你用-g把调试信息加入之后,并成功编译目标代码以后,让我们来看看如何用gdb来调试他。
启动GDB的方法:
gdb program
program 也就是你的执行文件,一般在当前目录下。
实际详细操作步骤
C++源程序:hello.cpp
#include <iostream>
using namespace std;// main() 是程序开始执行的地方int main()
{cout << "Hello World"; // 输出 Hello Worldreturn 0;
}
编译生成执行文件:(Linux下)jie@dell:~/myapp/mydebug/test_c++$
gcc -g hello.cpp -o hello
编译后会得到一个可执行文件hello
下面使用GDB调试,代码:
jie@dell:~/myapp/mydebug/test_c++$ gdb hello
(上面代码用来启动GDB)
(gdb) l
(输入l命令相当于list,从第一行开始列出源码)
下面这个网址告诉了gdb其他详细命令的使用方法,亲测有效:
https://www.cnblogs.com/lvdongjie/p/8994092.html
这篇关于GDB调试c/c++程序(本人用于debugOpenFoam里面的C++源文件)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!