Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何在Eclipse中使用GDB进行C/C++调试?_Linux_Eclipse_Debugging_Gdb - Fatal编程技术网

Linux 如何在Eclipse中使用GDB进行C/C++调试?

Linux 如何在Eclipse中使用GDB进行C/C++调试?,linux,eclipse,debugging,gdb,Linux,Eclipse,Debugging,Gdb,我是Visual Studio用户,习惯于使用断点进行调试。我现在在linux环境中工作,使用Eclipse作为IDE。我是linux和eclipse的新手。我不知道如何在eclipse中使用gdb。我试着在命令行中使用gdb,但并没有拥有UI那么简单 如何在eclipse中使用gdb 以下说明适用于Eclipse3.5Galileo。对于3.6 Helios,除了第2步中的链接外,它们是相似的 转到帮助>安装新软件。 将CDT存储库添加到存储库列表中。 选择CDT存储库。现在您需要安装CDT插

我是Visual Studio用户,习惯于使用断点进行调试。我现在在linux环境中工作,使用Eclipse作为IDE。我是linux和eclipse的新手。我不知道如何在eclipse中使用gdb。我试着在命令行中使用gdb,但并没有拥有UI那么简单


如何在eclipse中使用gdb

以下说明适用于Eclipse3.5Galileo。对于3.6 Helios,除了第2步中的链接外,它们是相似的

转到帮助>安装新软件。 将CDT存储库添加到存储库列表中。 选择CDT存储库。现在您需要安装CDT插件以及GDB支持,从可用插件列表中选择CDT主要功能以及CDT GNU工具链调试支持。 您现在应该能够在Eclipse中设置断点并检查变量的值

另一种方法是为GDB安装DDD GUI前端。

首先确保可以将项目导入Eclipse,如所示:

您可以尝试使用以下简单的测试目录进行测试:

现在您还需要告诉Eclipse如何查找标准库符号,如中所述:它们的默认值非常糟糕,根本不起作用

一旦Eclipse导入了项目,例如,您似乎能够跳转到定义等,让我们设置一个GDB步骤调试

首先,你必须进入:

跑 运行配置 C/C++应用程序 cpp默认cpp是项目名称 C/C++应用程序 并将其设置为:

main.out
现在eclipse知道了如何运行您的程序。我们可以通过测试运行来确认:

跑 运行Ctrl+F11 底部的终端显示程序的输出:

最后,我们可以在任何点上设置断点,例如,双击代码左侧的边栏,在main上创建一个蓝色圆圈,如上图所示

现在,我们可以通过以下方式进行调试:

跑 调试F11 正如预期的那样,我们将留在main:

voidargv上方的浅蓝色线;指示这是在调试器下执行的当前行

从那时起,只需学习调试界面,例如:

快捷方式(如F6)以单步执行,现在从“运行”下可见,只有在开始调试后才可见 查看右侧变量下的变量值 使用运行>终止Ctrl+F2停止运行 将参数传递给程序: 调试完成后,可以使用Ctrl+F8切换回正常代码视图非调试:

在Eclipse 2020-03 4.15.0上测试

main.out