2013-03-19 38 views
2

在Linux上,我有一些使用自己的makefile构建的C++程序,我正在寻找一些GUI调试器来在源代码级调试它们。我可以使用Eclipse CDT来调试预构建的C++可执行文件吗?

以前我在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有没有更好的选择?请帮忙。

enter image description here

回答

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

调试器会自动在主()的第一个语句暂停该计划。

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

1

的单机调试器是从CDT(C/C++开发工具)项目成可以在命令行脚本启动的应用程序包的Eclipse插件Eclipse应用程序:

bash /path/scripts/cdtdebug.sh -e executable [args]

+0

谢谢你的提示。 – 2014-11-22 02:42:05

相关问题