Linux:最强大的debugging器

您好我想知道哪些是在Linux操作系统上的C / C + +最好的debugging器。 我听说gdb和valgrind是相当不错的,但我想听听这些意见/比较。

谢谢

Eclipse具有良好的集成调试环境。 它是一个GDB的图形包装器 – 所以你可以获得GDB的强大功能,并且更像Xcode或者Visual Studio。

由于“GDB”是唯一的“真正的调试器”(并认为像“DDD”是包装它) – Eclipse这可能是您正在寻找的调试器和IDE。

GDB可能是我认为最好的。

  • GDB :GNU调试器
  • DDD :数据显示调试器,一个图形调试器前端
  • Nemiver :GNOME的独立图形调试器

内存调试器:

  • Valgrind :内存调试器和分析器
  • 电围栏 :一个malloc调试器
  • DUMA :检测意外的内存访问 – 一个红区内存分配器

资源

还有教育局 ,它包括在BackTrack 5中。它更适合于扭转。

我认为我是对的,在Linux上通常使用的所有C ++源代码级调试器都是gdb或gdb的包装器。 至少除非你使用非GNU工具链。

Valgrind不是一个调试器。 它是一个动态行为分析工具,可用于检测通常是错误的某些类型的不当行为,但肯定不会用于通常使用调试器的事情; 你不能通过代码或检查变量等。你不能使用Valgrind来检测大多数类型的逻辑错误。

我不认为Valgrind曾经声称是一个调试者。

另请参阅UndoDB http://undo-software.com/

它位于gdb之下,大大增强了gdb的可逆调试功能(例如,内存损坏?在坏的内存位置上设置一个观察点,然后进行反转 – 继续直接到最后一段代码来更新内存)。

你对valgrind是正确的。 它是检测内存动态分配引起内存泄漏的有用工具。