您好我想知道哪些是在Linux操作系统上的C / C + +最好的debugging器。 我听说gdb和valgrind是相当不错的,但我想听听这些意见/比较。
谢谢
Eclipse具有良好的集成调试环境。 它是一个GDB的图形包装器 – 所以你可以获得GDB的强大功能,并且更像Xcode或者Visual Studio。
由于“GDB”是唯一的“真正的调试器”(并认为像“DDD”是包装它) – Eclipse这可能是您正在寻找的调试器和IDE。
GDB可能是我认为最好的。
内存调试器:
资源
还有教育局 ,它包括在BackTrack 5中。它更适合于扭转。
我认为我是对的,在Linux上通常使用的所有C ++源代码级调试器都是gdb或gdb的包装器。 至少除非你使用非GNU工具链。
Valgrind不是一个调试器。 它是一个动态行为分析工具,可用于检测通常是错误的某些类型的不当行为,但肯定不会用于通常使用调试器的事情; 你不能通过代码或检查变量等。你不能使用Valgrind来检测大多数类型的逻辑错误。
我不认为Valgrind曾经声称是一个调试者。
另请参阅UndoDB http://undo-software.com/
它位于gdb之下,大大增强了gdb的可逆调试功能(例如,内存损坏?在坏的内存位置上设置一个观察点,然后进行反转 – 继续直接到最后一段代码来更新内存)。
你对valgrind是正确的。 它是检测内存动态分配引起内存泄漏的有用工具。