繁体   English   中英

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

[英]C++ debuggers for linux similar to MS Visual Studio's debugger? [closed]

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

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

我正在寻找的功能:

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

好吧,你并不缺乏选择。

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

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

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

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

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

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

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

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

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

您可能会使用GNU emacs编辑器来键入 - 甚至编译 - 您的 C++ 代码。

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

如果您需要 emacs 之外的gdb图形界面,请考虑xgdbddd

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM