简单地说:有没有人知道gdb的GUI可以与最新版本的Visual c++中的特性集相提并论或接近?

详细说明:作为一个在Windows上花了大量时间编程的人,每当我必须在Linux中编写c++代码时,我发现的一个较大的绊脚石是,使用命令行gdb调试任何东西所花费的时间比在Visual Studio中长几倍,而且随着练习,它似乎并没有变得更好。有些东西用图形表示更容易或更快。

具体地说,我正在寻找一个GUI:

Handles all the basics like stepping over & into code, watch variables and breakpoints Understands and can display the contents of complex & nested C++ data types Doesn't get confused by and preferably can intelligently step through templated code and data structures while displaying relevant information such as the parameter types Can handle threaded applications and switch between different threads to step through or view the state of Can handle attaching to an already-started process or reading a core dump, in addition to starting the program up in gdb

如果这样的程序不存在,那么我希望听到人们使用至少满足其中一些要点的程序的经验。 有人有什么建议吗?

编辑: 列出这些可能性很好,我也会尽我所能,但如果你能在回答中包括以下内容,那就更有帮助了: (a)你是否实际使用过这个图形用户界面,如果使用过,你对它有什么积极/消极的反馈。 (b)如果你知道,上述哪些功能是受支持的或不受支持的

列表很容易获得,像这样的网站很棒,因为你可以了解人们使用应用程序的个人体验。


当前回答

我使用KDbg(只适用于KDE)。

其他回答

您将找不到任何可以与Visual Studio调试器的原始功能竞争的覆盖GDB的东西。它太强大了,而且在IDE中集成得太好了。

对于Linux的替代品,如果您喜欢自由软件,可以尝试DDD。

我讨厌Windows开发的想法,但vc++调试器是我见过的最好的调试器之一。我还没有找到一个GUI前端接近VC的。

一旦您真正习惯了GDB,它就非常棒。在生气的时候经常使用它,你会变得非常熟练。我可以轻松地在程序中完成您列出的所有事情。我确实花了一个月左右的时间才熟练地连接到远程服务器。但我永远不会回去。

DDD功能非常强大,但也有很多bug。我发现当它收到来自GDB的消息说它不懂时,它经常会死机。它很好,因为它有一个gdb接口窗口,所以你可以看到正在发生什么,也可以直接与gdb交互。在我的环境中,DDD不能在远程X会话上使用(这是一个真正的问题,因为当我做Unix开发时,我坐在瘦客户机上),因此出于某种原因,它对我来说是不合适的。

KDevelop遵循典型的KDE风格,向用户公开一切。在KDevelop中调试非KDevelop程序时,我也没有任何运气。

Gnat Programming Studio (GPS)实际上是一个非常好的GDB前端。它不只是管理Ada项目,所以如果你需要调试器,它值得一试。

你可以使用Eclipse,但它的重量相当大,我所共事过的许多经验丰富的Unix人员(包括我在内)都不太关心它的界面,它不会只是STFU,也不会给你带来麻烦。Eclipse似乎也占用了很多空间,运行起来像狗一样。

gdb -tui可以工作,如果你想要一些类似gui的东西,但仍然是基于字符的。

在很大程度上,可以进行的步骤将受到g++产生的调试信息的限制。Emacs为gdb提供了一个接口,允许您通过工具栏/菜单控制它,并在单独的窗口中显示数据,也可以直接键入gdb命令。Eclipse的CDT提供了类似的工具。我听说过Anjuta和Code::Blocks,但从未使用过。

与eclipse gdb前端类似的是emacs前端,它与emacs IDE紧密相连。如果你已经使用过emacs,你会喜欢它:

GDB Emacs Frontend