如何在 *nix 系统上的大型 C/C++ 代码中跟踪/修复与内存相关的问题

Hem*_*ant 9 debugging memory-leaks

您在跟踪与内存相关的问题时使用什么策略?您使用哪些工具(开源和专有)来识别内存泄漏、内存损坏等?如果系统上只有 gdb/dbx 可用,您将如何跟踪内存泄漏?

对我来说,仅使用调试器修复内存泄漏非常困难。

Mic*_*zek 12

如果能改源代码,Dmalloc就很棒;它将列出未释放的指针以及(对于使用调试符号构建的代码)它们被分配在哪一行上。

如果你不能,Valgrind几乎是这类事情的标准。我通常发现 Valgrind 有点难以使用,但它具有更多功能,并且不涉及将 dmalloc 调用添加到您的代码中


jac*_*onh 7

valgrind 非常有用。