在 Linux 中调试 C++
Posted
技术标签:
【中文标题】在 Linux 中调试 C++【英文标题】:Debugging C++ in Linux 【发布时间】:2011-05-06 16:31:24 【问题描述】:在使用 Visual Studio 一周后,我发现 Linux 中的 CodeBlocks 和其他 IDE 远远逊色。我不知道我是否遗漏了什么,但我很想在 Linux 中拥有像 VS 这样的 IDE。我试过gdb,但我觉得很难用。 例如,Linux 中是否有任何东西可以像 Visual Studio 显示的那样检查链表的值。
我需要试试 DDD。 (界面看起来像 1980 年代 :()
【问题讨论】:
您是在 IDE 中开发 C++ 吗? ***.com/questions/79023/c-gdb-gui的可能重复 你应该在你的 gdb foo 上工作,这样你就可以成为一个真正的 linux 用户,而不仅仅是一个 windows、linux 用户。 【参考方案1】:是的,Data Display Debugger 或 DDD 在调试时以图形方式显示数据结构。话虽如此,如果您正在用 C++ 编写自己的链表类,那么您并没有真正充分利用该语言。为什么不使用已经完全调试的 std::list?
【讨论】:
我得说我觉得 DDD 不如 Visual Studios 直观。没有通过手册 - 但不需要 VS。 (我不喜欢这样说……) @Tom - 说出来也不错。每个人都私下认为,但没有人愿意谈论它。 上次用ddd的时候,太bug了,刚学gdb命令行界面,再也没看ddd。【参考方案2】:Nemiver 是用于 C 和 C++ 的独立图形调试器。它得到积极维护,并具有现代调试器应具备的许多功能:设置断点、观察点、单步执行代码、检查内存和寄存器、显示变量内容的工具提示、集成反汇编器、源文件以语法高亮显示等。
【讨论】:
它在可视化 STL 容器方面的表现如何? Nemiver 的下一个版本将支持漂亮打印的标准 STL 容器。查看最新状态报告:mail.gnome.org/archives/nemiver-list/2011-March/msg00001.html 有趣。这似乎是一个好的开始。哪里有说明书?它如何处理线程?有没有办法打开监视窗口?【参考方案3】:很惊讶没有人提到带有 CDT 的 Eclipse。在迁移到 Linux 之前使用 VS 多年,我发现它同样胜任。
【讨论】:
STL 容器可视化效果如何比较? 一张图描绘一千个字:cam-bamber.co.uk/other/Screenshot.jpg。不过,您需要先执行此操作:sourceware.org/gdb/wiki/STLSupport【参考方案4】:我建议您查看 KDevelop 和 Qt Creator。
他们有一个图形调试器(它只是一个 GDB IDE,就像 DDD),它可以让您像在示例中一样浏览类字段和指针。
【讨论】:
【参考方案5】:可能的最短答案是:是的,有可以在 Linux 上运行的 IDE,但在调试方面我从未见过任何与 Visual Studio 相近的东西。
【讨论】:
【参考方案6】:试用带有 C++ 插件的 Netbeans。我觉得它很有用。
【讨论】:
【参考方案7】:现在您只需要 JetBrain 的 Clion,提高工作效率并轻松调试。
【讨论】:
【参考方案8】:也请查看MonoDevelop。它的设计与 Visual Studio 非常相似。
【讨论】:
以上是关于在 Linux 中调试 C++的主要内容,如果未能解决你的问题,请参考以下文章
C++再谈vscode界面调试C++程序(linux) - 知识点目录
无法从 Visual Studio 启动 gdb 以在 Windows 上的 Linux 子系统中远程调试 Linux C++ 项目