用于检测内存泄漏的工具

use*_*826 10 c c++ unix memory-leaks memory-management

如purify和valgrind等内存泄漏检测工具如何工作?

如何设计和实现我自己的工具?

sho*_*osh 8

这些工具通常使用自己的代码来检测可执行文件.例如,他们用自己的函数替换每个调用,malloc()free()允许他们遵循每个分配.

在Visual Studio中,这可以使用C系列中的函数仅使用C运行时库自动完成 _CrtDumpMemoryLeaks()

  • 您可以使用工具 - deleaker(如果您是Windows用户). (2认同)
  • deleaker - 酷工具!Supoort内存和GDI泄漏等 (2认同)

Pau*_*l R 5

对于基本的泄漏检测,您只需要挂钩到低级别的内存分配例程,例如通过修补malloc/free.然后,您跟踪所有分配,然后报告任何尚未在适当位置释放的分配,例如在退出之前.