Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.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
是否有一个C++;用于Linux的GDBGUI? 简要:有人知道GDB的GUI是否使它与PAR或接近于VisualC++(?) 详细说明:作为在Windows中花费大量时间编程的人,我在Linux中每当发现C++代码时发现的一个较大的绊脚石是使用命令行GDB调试任何东西比在VisualStudio中花费的时间长几倍,而且实践中它似乎并没有变得更好。有些东西更容易或更快地用图形表示_C++_Linux_Gdb_Debugging - Fatal编程技术网

是否有一个C++;用于Linux的GDBGUI? 简要:有人知道GDB的GUI是否使它与PAR或接近于VisualC++(?) 详细说明:作为在Windows中花费大量时间编程的人,我在Linux中每当发现C++代码时发现的一个较大的绊脚石是使用命令行GDB调试任何东西比在VisualStudio中花费的时间长几倍,而且实践中它似乎并没有变得更好。有些东西更容易或更快地用图形表示

是否有一个C++;用于Linux的GDBGUI? 简要:有人知道GDB的GUI是否使它与PAR或接近于VisualC++(?) 详细说明:作为在Windows中花费大量时间编程的人,我在Linux中每当发现C++代码时发现的一个较大的绊脚石是使用命令行GDB调试任何东西比在VisualStudio中花费的时间长几倍,而且实践中它似乎并没有变得更好。有些东西更容易或更快地用图形表示,c++,linux,gdb,debugging,C++,Linux,Gdb,Debugging,具体来说,我正在寻找一个GUI: 处理所有的基本操作,如逐步进入代码、监视变量和断点 理解并显示复杂的嵌套C++数据类型的内容 不会被模板化的代码和数据结构所迷惑,最好能够智能地逐步执行,同时显示相关信息,如参数类型 可以处理线程化应用程序,并在不同线程之间切换以单步执行或查看 除了在gdb中启动程序外,还可以处理附加到已经启动的进程或读取核心转储 如果这样一个项目不存在,那么我想听听人们对至少符合某些要点的项目的体验。 有人有什么建议吗 编辑: 列出这些可能性非常好,我会尽我所能,但如果你

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

  • 处理所有的基本操作,如逐步进入代码、监视变量和断点
  • 理解并显示复杂的嵌套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进行调试的更多信息,您可能希望查看以下指南:


我已经为gdb尝试了几种不同的GUI,发现DDD是其中更好的一种。 虽然我不能评论其他针对linux的非gdb产品,但我已经在其他平台上使用了许多其他调试器

gdb做你愿望清单上的大部分事情。DDD为他们提供了一个更好的前景。例如,线程切换变得更简单。设置断点和您期望的一样简单

您还可以获得一个cli窗口,以防您需要执行一些模糊的操作

DDD的一个突出特性是数据“图形化”,它比我使用的任何其他调试器都要突出。这允许您显示和排列结构、对象和备注