适用于 linux 的 C++ 调试器类似于 MS Visual Studio 的调试器?

Nu *_*unu 0 c++ linux debugging visual-studio visual-studio-2013

一点背景:有一段时间我一直在为我的 C++ 项目使用一个名为 CodeBlocks 的免费 IDE。最近我获得了 Microsoft Visual Studio 2013 的许可证,我不得不说这是一种完全不同的体验。自动完成功能在您键入时更好、更灵敏、更准确地进行错误检查,是 MFC 应用程序的可视化资源管理器。虽然这些东西你可以在几乎任何带有正确插件的文本编辑器中获得,但我发现 MS Visual Studio 特别吸引人的是它非常漂亮且视觉上吸引人的调试器(比 CodeBlocks 中的更易于使用并提供更多信息) .

我一直在考虑切换到基于 linux 的系统,因为至少对我来说,它似乎为通用编程提供了更好的工具。但是,我不能让自己失去 MS VS 调试器并回到 CodeBlocks 之类的东西。我一直在为 linux 寻找各种调试器,但我真的找不到与 MSVS2013 中的调试器相似的调试器。有人可以帮我解决这个问题吗?什么是我可以使用的好的调试器?

我正在寻找的功能:

  • 一个“自动”监视选项卡/窗口,用于跟踪最近使用过或可能使用的变量,包括在类方法内部时的“this”指针;
  • 一个“Locals”监视选项卡/窗口,它严格跟踪局部变量(无需手动输入)
  • 突出显示从一个指令步进到另一个指令时发生变化的变量
  • 能够设置多个监视窗口/选项卡并在它们之间轻松切换
  • 能够扩展被监视的对象以查看其成员的值
  • 能够轻松查看存储在监视指针指向的地址中的值

blo*_*dev 5

好吧,你并不缺乏选择。

经典的 Linux 调试器 - gdb - 有一个基于 ncurses 的命令行 gui,它通过使用 -tui 参数启动来激活。诚然,与 IDE 集成相比,它有点基础,但它非常强大。

称为 ddd 的 gdb 的独立 GUI 在某些圈子中很流行。该界面并不是特别现代,但它支持所有的 gdb 功能。

如果您正在寻找集成开发环境,那么 Jetbrains CLion 是一个相对较新的产品,但具有合理的 gdb 集成功能。如果您正在寻找免费的替代方案,那么 Eclipse CDT 的集成度相当高。

我个人最喜欢的选择是一个名为 VisualGDB 的商业插件,它集成了 VisualStudio 和 GDB,允许您在不离开 VisualStudio 的情况下进行编译和调试。它非常灵活,并且得到了积极的支持和开发。


YeP*_*IcK 5

我使用并喜欢DDD调试器(标准之上的 GUI gdb),它非常原生且易于学习,来自多年的 MS VisualStudio 环境。

您可以执行所有这些“标准”调试任务,例如使用鼠标深入查看数据结构、设置断点、检查变量等。

它被调用Data Display Debugger,您可以在 GNU 网站上找到更多信息,其中还包括屏幕截图,以便您可以快速判断此工具是否适合您:http : //www.gnu.org/software/ddd/

2017 编辑
新的 MS Visual Studio 2017(所有版本,包括免费版本)现在具有内置的 Linux 支持,其中包括使用 MS VC 的内置调试器远程调试 Linux 程序。这甚至包括编辑和继续支持(!)

这是一个演示这一点的视频