Linux:最强大的调试器

时间:2010-11-26 03:15:25

标签: linux debugging

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

谢谢

6 个答案:

答案 0 :(得分:6)

GDB可能是我认为最好的。

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

内存调试器:

  • Valgrind :内存调试器和分析器
  • 电围栏:malloc调试器
  • D.U.M.A :检测非预期的内存访问 - 红区内存分配器

Source

答案 1 :(得分:3)

还有EDB,它包含在BackTrack 5中。它更倾向于倒车。

答案 2 :(得分:1)

我认为我说的是Linux上常用的所有C ++源代码级调试器都是gdb或围绕gdb的包装器。至少除非你使用的是非gnu工具链。

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

我不认为Valgrind曾声称自己是一名调试人员。

答案 3 :(得分:1)

Eclipse具有良好的集成调试环境。它是GDB的图形包装器 - 因此您可以获得GDB的强大功能,其界面更像Xcode或Visual Studio。

因为“GDB”是唯一的“真正的调试器” - (并认为“DDD”就是它的包装器) - Eclipse这可能是你正在寻找的调试器和IDE。

答案 4 :(得分:1)

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

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

答案 5 :(得分:0)

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

相关问题