Linux的C ++调试器类似于MS Visual Studio的调试器?

时间:2015-07-16 10:50:58

标签: c++ linux visual-studio debugging visual-studio-2013

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

我一直在想切换到基于Linux的系统,因为至少对我而言,它似乎为通用编程提供了更好的工具。但是,我只是不能让自己失去MS VS调试器并回到像CodeBlocks那样的东西。我一直在寻找Linux的各种调试器,但我真的找不到类似于MSVS2013中的调试器。任何人都可以帮我吗?我可以使用什么好的调试器?

我正在寻找的功能:

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

3 个答案:

答案 0 :(得分:4)

嗯,你并不缺乏选择。

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

gdb的独立GUI名为ddd,在某些圈子中很流行。界面不是特别现代,但它支持全范围的gdb功能。

如果您正在寻找集成开发环境,那么Jetbrains CLion是一个相对较新的人,但具有合理的gdb集成。如果你正在寻找一个免费的替代方案,那么Eclipse CDT就可以很好地集成。

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

答案 1 :(得分:3)

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

你可以做所有这些"标准"调试任务,比如用鼠标深入数据结构,设置断点,检查变量等等。

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

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

这里有video that demonstrates这个

答案 2 :(得分:0)

您可以使用GNU emacs编辑器。它可以运行gdb,编译器,makegit等...