是否有一个C++;用于Linux的GDBGUI? 简要:有人知道GDB的GUI是否使它与PAR或接近于VisualC++(?) 详细说明:作为在Windows中花费大量时间编程的人,我在Linux中每当发现C++代码时发现的一个较大的绊脚石是使用命令行GDB调试任何东西比在VisualStudio中花费的时间长几倍,而且实践中它似乎并没有变得更好。有些东西更容易或更快地用图形表示
具体来说,我正在寻找一个GUI:是否有一个C++;用于Linux的GDBGUI? 简要:有人知道GDB的GUI是否使它与PAR或接近于VisualC++(?) 详细说明:作为在Windows中花费大量时间编程的人,我在Linux中每当发现C++代码时发现的一个较大的绊脚石是使用命令行GDB调试任何东西比在VisualStudio中花费的时间长几倍,而且实践中它似乎并没有变得更好。有些东西更容易或更快地用图形表示,c++,linux,gdb,debugging,C++,Linux,Gdb,Debugging,具体来说,我正在寻找一个GUI: 处理所有的基本操作,如逐步进入代码、监视变量和断点 理解并显示复杂的嵌套C++数据类型的内容 不会被模板化的代码和数据结构所迷惑,最好能够智能地逐步执行,同时显示相关信息,如参数类型 可以处理线程化应用程序,并在不同线程之间切换以单步执行或查看 除了在gdb中启动程序外,还可以处理附加到已经启动的进程或读取核心转储 如果这样一个项目不存在,那么我想听听人们对至少符合某些要点的项目的体验。 有人有什么建议吗 编辑: 列出这些可能性非常好,我会尽我所能,但如果你
- 处理所有的基本操作,如逐步进入代码、监视变量和断点
- 理解并显示复杂的嵌套C++数据类型 的内容
- 不会被模板化的代码和数据结构所迷惑,最好能够智能地逐步执行,同时显示相关信息,如参数类型
- 可以处理线程化应用程序,并在不同线程之间切换以单步执行或查看
- 除了在gdb中启动程序外,还可以处理附加到已经启动的进程或读取核心转储
列出这些可能性非常好,我会尽我所能,但如果你能在回答中包括以下内容,那将更有帮助:
(a) 您是否实际使用过此GUI,如果使用过,您对此有何正面/负面反馈。
(b) 如果您知道,上述哪些功能是/不受支持的 列表很容易获得,像这样的网站很好,因为你可以了解人们对应用程序的个人体验。你不会发现任何可以与Visual Studio调试器的原始功能相竞争的GDB。它太强大了,而且在IDE中集成得太好了
对于Linux的替代方案,如果您喜欢自由软件,请尝试DDD。可以采用的方法将在很大程度上受到g++生成的调试信息的限制。Emacs提供了一个gdb接口,允许您通过工具栏/菜单进行控制,并在单独的窗口中显示数据,以及直接键入gdb命令。Eclipse的CDT提供了类似的工具。我听说过Anjuta和Code::Blocks,但从未使用过它们。查看EclipseCDT项目。它是一个面向C/C++开发的Eclipse插件,包含一个功能相当丰富的调试透视图(后台使用GDB)。它可以在多种平台上使用。DDD是gdb的GNU前端:KDevelop工作得很好。最新版本的Geany支持它(不过只在Linux上)gdb-tui工作得很好,如果你想要一些类似GUI的东西,但仍然基于字符。我经常使用DDD,一旦你学会使用它,它就会非常强大。我想说的一件事是,不要在WAN上的X上使用它,因为它似乎做了很多不必要的屏幕更新
另外,如果你不是GDB的配偶,也不介意存点钱,那么我会试试TotalView。它有一个陡峭的学习曲线(它肯定可以更直观),但它是我在任何平台上使用的最好的C++调试器,可以扩展到以自定义方式内省对象(这样就允许您将STL列表视为实际对象列表,而不是一堆令人困惑的内部数据成员等)。 < P>作为熟悉VisualStudio的人,我已经查看了一些开源IDE来替换它,KDead是最接近的IMO,它是VisualC++用户可以坐下来开始使用的东西。当您在调试模式下运行项目时,它使用gdb,但kdevelop几乎可以处理整个过程,因此您不必知道它是gdb;您只需单步执行或将手表分配给变量
不幸的是,它仍然不如Visual Studio调试器好。Eclipse CDT将提供与使用Visual Studio相当的体验。我每天使用EclipseCDT编写代码并调试本地和远程进程 如果您不熟悉使用基于Eclipse的IDE,GUI将需要一点时间来适应。但是,一旦您了解了Eclipse特有的GUI思想(例如透视图),使用该工具就成为了一种不错的体验 CDT工具提供了一个像样的C/C++索引器,允许您在代码库中快速查找对方法的引用。它还提供了一个很好的宏扩展工具和有限的重构支持 关于对调试的支持,CDT能够完成列表中的所有工作,除了读取核心转储(它可能支持这一点,但我从未尝试过使用此功能)。另外,我使用模板调试代码的经验是有限的,所以我不确定CDT在这方面能提供什么样的经验 有关使用Eclipse CDT进行调试的更多信息,您可能希望查看以下指南: