Linux 上的 C++ 调试器类似于 MS Visual Studio 的调试器? [已关闭]

问题描述 投票:0回答:3

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

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

我正在寻找的功能:

  • 一个“自动”监视选项卡/窗口,用于跟踪最近使用过或可能使用的变量,包括在类方法内部时的“this”指针;
  • “Locals”监视选项卡/窗口,严格跟踪局部变量(无需手动输入)
  • 突出显示从一条指令步进到另一条指令时已更改的变量
  • 能够设置多个观看窗口/选项卡并在它们之间轻松切换
  • 能够扩展正在观察的对象以查看其成员的值
  • 能够轻松查看存储在监视指针所指向的地址处的值
c++ linux visual-studio debugging visual-studio-2013
3个回答
7
投票

好吧,你并不缺乏选择。

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

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

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

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


6
投票

我使用并喜欢

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

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

它叫做

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

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

这是一个视频演示了(显然该视频现在是私有的)

2024年编辑
这是演示远程调试完整速成课程

的视频

0
投票

您可以使用 GNU

emacs
编辑器来键入甚至编译您的 C++ 代码。

它可以运行

gdb
调试器GCC 编译器(对于您的 C++ 代码,您可以 调用它 作为
g++ -Wall -Wextra -g
来获取警告和调试信息)、GNU
make
构建自动化工具、
git
版本控制
工具等等...

如果您需要 emacs 之外的

gdb
图形界面,请考虑
xgdb
ddd

© www.soinside.com 2019 - 2024. All rights reserved.