Is there a C++ gdb GUI for Linux?简而言之:有没有人知道gdb的GUI会使它与更新版本的Visual C ++中的功能集相提并论? 详细说明:作为一个花了很多时间在Windows上编程的人,每当我在Linux中编写C ++代码时,我发现的一个更大的绊脚石就是使用命令行gdb调试任何东西需要花费我几倍的时间。 Visual Studio,它似乎没有通过练习变得更好。有些事情只是更容易或更快地以图形方式表达。 具体来说,我正在寻找一个GUI:
如果这样的程序不存在,那么我想听听人们对于至少满足一些要点的程序的经验。
编辑: 列表很容易获得,像这样的网站很棒,因为你可以了解人们的应用程序的个人经验。 Eclipse CDT将提供与使用Visual Studio相媲美的体验。我每天都使用Eclipse CDT来编写代码并调试本地和远程进程。 如果您不熟悉使用基于Eclipse的IDE,GUI将需要一点时间习惯。但是,一旦您了解了Eclipse独有的GUI思想(例如透视图),使用该工具就会变得很好。 CDT工具提供了一个不错的C / C ++索引器,允许您快速查找代码库中方法的引用。它还提供了一个很好的宏扩展工具和有限的重构支持。 关于支持调试,CDT能够执行列表中的所有操作,但读取核心转储除外(它可能支持此功能,但我从未尝试过使用此功能)。另外,我使用模板调试代码的经验有限,所以我不确定CDT在这方面会提供什么样的经验。 有关使用Eclipse CDT进行调试的更多信息,您可能需要查看以下指南:
gdb -tui可以正常工作,如果你想要GUI-ish,但仍然基于字符。 你不会发现任何覆盖GDB的东西,它可以与Visual Studio调试器的原始功能竞争。它太强大了,它在IDE中集成得太好了。 对于Linux替代方案,如果您喜欢自由软件,请尝试使用DDD。 查看Nemiver C / C ++调试器。它很容易在Ubuntu(开发人员工具/调试)中安装。 更新:新链接。 我不喜欢Windows开发的想法,但VC ++调试器是我见过的最好的。我还没有找到一个接近VC的GUI前端。 一旦你真正习惯了GDB就很棒了。足够愤怒地使用它,你会变得非常精通。我可以围绕一个程序来完成你所列出的所有事情而不需要太多努力。在我精通之前,确实需要一个月左右的时间才能通过SSH链接到远程服务器。我永远不会回去。 DDD真的很强大,但它非常多。我发现当它从GDB收到消息时它经常冻结。它很好,因为它有一个gdb接口窗口,所以你可以看到正在发生的事情并直接与gdb交互。 DDD不能在我的环境中的远程X会话上使用(一个真正的问题,因为我在Unix开发时我坐在一个瘦客户端)由于某种原因所以它对我而言。 KDevelop遵循典型的KDE风格并向用户展示了一切。我也没有在KDevelop中调试非KDevelop程序的运气。 Gnat编程工作室(GPS)实际上是GDB的一个很好的前端。它不仅仅管理Ada项目,因此如果您需要调试器,则值得尝试。 你可以使用Eclipse,但是它非常重,而且我和我合作的很多经验丰富的Unix人员(包括我在内)并不关心它的界面,这不仅仅是STFU而且让你不受欢迎。 Eclipse也似乎占用了大量空间并像狗一样运行。 Qt Creator看起来很棒。一位同事向我展示了一种用于调试的方法:
对于调试我已经编译的应用程序来说,这看起来似乎有点大,但值得。调试器以与Visual Studio类似的方式显示线程,堆栈和局部变量,甚至使用许多相同的键盘快捷键。它似乎很好地处理模板,至少std :: string和std :: map。虽然我尚未对其进行测试,但似乎支持附加到现有进程和核心转储。 请记住,我现在使用它的时间不到一小时,但到目前为止我印象深刻。 我使用cgdb,简单而有用 我经常使用DDD,一旦你学会使用DDD它就会非常强大。我要说的一件事就是不要在WAN上使用它,因为它似乎做了很多不必要的屏幕更新。 另外,如果你没有与GDB交配并且不介意筹集一些现金,那么我会尝试TotalView。它有一个陡峭的学习曲线(它肯定会更直观),但它是我在任何平台上使用过的最好的C ++调试器,可以扩展为以自定义方式内省对象(从而允许您查看STL列表作为实际的对象列表,而不是一堆令人困惑的内部数据成员等。) 查看Eclipse CDT项目。它是面向C / C ++开发的Eclipse插件,包含一个功能相当丰富的调试透视图(在幕后使用GDB)。它可在各种平台上使用。 与eclipse gdb前端相似的是emacs前端,与emacs IDE紧密相关。如果你已经使用emacs,你会喜欢它: GDB Emacs前端 我使用KDbg(仅在KDE下工作)。 DDD是gdb的GNU前端:http://www.gnu.org/software/ddd/ 这个列表中缺少一个IDE,效率很高(我在很多C / C ++项目中都没有使用它):Netbeans。
我已经为gdb尝试了几种不同的guis,并且发现DDD对他们来说更好。 gdb完成了你愿望清单中的大部分内容。 DDD为他们打造了一个更好的前线。例如,线程切换变得更简单。设置断点就像您期望的那样简单。 您还可以获得一个cli窗口,以防您想要做一些不明确的事情。 DDD的一个特性突出于我使用的任何其他调试器之上的是数据"图形"。这允许您将结构,对象和内存显示和排列为可拖动的框。双击指针将打开解除引用的数据,并将可视链接返回到父级。 如今,Qt Creator-on-Linux肯定与Visual Studio-on-Windows for C ++相当。我甚至会在调试器方面说得更好。 作为熟悉Visual Studio的人,我看了几个开源IDE来替换它,而KDevelop是最接近的IMO,是一个Visual C ++人可以坐下来开始使用的东西。当你在调试模式下运行项目时,它使用gdb,但kdevelop几乎处理整个事情,所以你不必知道它的gdb;你只是单步踩或将手表分配给变量。 遗憾的是,它仍然不如Visual Studio Debugger好。 可以逐步完成的内容将受到g ++产生的调试信息的限制。 Emacs提供了一个gdb接口,允许您通过工具栏/菜单控制它,并在单独的窗口中显示数据,以及直接键入gdb命令。 Eclipse的CDT提供了类似的工具。我听说过Anjuta和Code :: Blocks但从未使用它们。 您没有提到您使用的是Windows还是UNIX。 在UNIX系统上,KDevelop很好,但是我使用KDbg,因为它易于使用,也适用于非KDevelop开发的应用程序。 Eclipse在两个平台上都很出色。 在Windows上,有一个名为Wascana Desktop Developer的优秀软件包,它是Eclipse CDT和MinGW,所有软件包都打包完好,并且预先配置得很好。这是我在Windows上开发GNU代码时发现的最好的东西。 我已经使用了所有这些调试器,但它们都没有MS Dev Studio那么好。 Eclipse / Wascana可能是最接近的,但它确实有一些限制,就像你不能进入DLL那样,它在检查变量方面做得不好。 你有没有看过DS-5调试器? 有一个付费版本,其中包含许多有用的功能,但您也可以免费使用Community Edition(这对于嵌入式系统也非常有用)。 在使用eclipse在真实设备上调试Android应用程序时,我对此工具有积极的体验。 代码:Blocks C ++ IDE有一个图形包装器,有一些你想要的功能,但没有VS的强大功能。 VisualGDB是另一个用于在Linux和嵌入式平台上开发和调试应用程序的Visual Studio插件。 KDevelop很好用。
你用cygwin gdb尝试过gdb -w吗? 我发现的唯一问题是,在我现在的机器上,直到我安装ddd之后它才运行。我怀疑它需要安装ddd时安装的tcltk。 我正在寻找一个调试器来逐步运行一个正在运行的程序。说:附上。该程序是用eclipse构建的,但由于可能有一些多线程的障碍,没有喜欢的源文件。随你。 我对NetBeans非常满意。
现在窗户不见了,你什么都看不见。脱离过程。阅读广场"停止"有帮助。
转到[窗口] - > [调试] - >您的窗口是否会变得舒适。 如果您在Visual Studio下查找gdb,请检查WinGDB。 在过去的15个月里,我使用了洞察力(FC6附带)。它不是很好,它是用Tcl / Tk编写的,但它简单实用。 DDD具有相似的质量/实用性,但有些难以使用(各种GUI陷阱和遗漏)。我还尝试将gdb与我的IDE SlickEdit集成。它工作正常(我玩了4个小时),但我不喜欢GUI上下文切换。在调试时,我喜欢我的IDE保持不变;在Windows上我使用SlickEdit for IDE和Visual Studio Debugger进行调试。所以从3:Insight,DDD和SlickEdit,Insight是我的第一选择,我使用它> 95%的时间,命令行gdb和DDD组成另外5%。如果我有机会,我会在某个时候评估Eclipse,我的工作PC似乎没有足够的RAM(仅1GB)来合理地运行Eclipse。 我也听过很多关于TotalView的赞誉,包括在求职面试中的第一手资料。我在2008年底获得了我们公司的评估,但最终我们没有继续,因为gdb足以满足我们的需求;它是免费的,无处不在。 Geany的最新版本支持它(仅在Linux上)
使用www.zero-bugs.com/ |