2

在 Linux 上,我有一些用我自己的 makefile 构建的 C++ 程序,我正在寻找一些 GUI 调试器来在源代码级别调试它们。

以前我在 openSUSE(12.3) 上使用 KDbg(2.5.2)。它可以工作,但有一些非常烦人的限制,例如,当被调试的程序没有被 Kdbg 捕获时,我无法设置断点——我的意思是,为了设置新的断点,我必须在程序启动之前设置它或者程序在遇到已经设置的断点时暂停。

现在我尝试使用 Eclipse CDT。我得到了eclipse-cpp-juno-SR2-linux-gtk.tar.gz但发现我不知道如何加载我的可执行文件以便开始调试。

我搜索了『eclipse debug pre-built C binary』之类的词,但似乎很少有人关心这个特性。

Eclipse CDT 真的可以做到吗?如果 Eclipse CDT 不能,KDbg 有没有更好的替代品?请帮忙。

在此处输入图像描述

4

2 回答 2

3

根据这个答案的提示,https://stackoverflow.com/a/248119/151453,我终于弄清楚了该怎么做。

关键点是:在 Eclipse CDT 项目中,创建/编辑启动配置,以便告诉调试器要加载什么可执行文件。

现在我不得不承认,Eclipse CDT 在 C++ 代码调试方面的表现比 KDbg 好得多。

下面是 openSUSE 12.3 上的一些屏幕截图。

F:\ChjKeep\chj.dev\桌面\AUTO-SNAP\wizard-prjtype.png F:\ChjKeep\chj.dev\桌面\AUTO-SNAP\cdt-prjdir.png F:\ChjKeep\chj.dev\桌面\AUTO-SNAP\cdt-prjwiz-finish.png F:\ChjKeep\chj.dev\桌面\AUTO-SNAP\cdt-menu-prjprop.png F:\ChjKeep\chj.dev\桌面\AUTO-SNAP\cdt-prjprop-runsetting.png F:\ChjKeep\chj.dev\桌面\AUTO-SNAP\cdt-prj-exepath.png

现在我们可以运行 -> 调试 (F11) F:\ChjKeep\chj.dev\桌面\AUTO-SNAP\cdt-offer-switch-pers.png

调试器在 main() 的第一条语句处自动暂停程序。

F:\ChjKeep\chj.dev\桌面\AUTO-SNAP\cdt-pause-main.png

于 2013-03-21T07:06:40.617 回答
1

独立调试器是一个 Eclipse 应用程序,它将 Eclipse 插件从 CDT(C/C++ 开发工具)项目打包到一个可以从命令行脚本启动的应用程序中:

bash /path/scripts/cdtdebug.sh -e 可执行文件 [args]

于 2014-11-08T20:27:52.123 回答