查找内存泄漏的最佳解决方案

时间:2012-01-12 11:00:16

标签: c++ memory-leaks

  

可能重复:
  How to Test for Memory Leaks?
  how to find memory leak in c++ code/project
  How to find a memory leak in C++
  Is there a good Valgrind substitute for Windows?

我的C ++程序中有很多内存泄漏。找到它们的解决方案(程序)是什么?

3 个答案:

答案 0 :(得分:4)

我喜欢用valgrind。假设g++clang++,请使用-g编译您的程序并尝试:

valgrind --leak-check=full ./your_executable

答案 1 :(得分:2)

最佳解决方案是使您的计划现代化。

  1. 在您的计划中搜索newdelete
  2. 更新程序以使用智能指针。无处不在。
  3. 如果你已经完成了,那么在完成泄密之后引入泄漏将“非常困难”。
  4. 如果您使用的是OS X man leaks,则会泄漏Instrument或valgrind。您可以使用这些来观察程序现代化时的泄漏计数下降;)

答案 2 :(得分:1)

针对哪个操作系统?

在基于Linux的系统上,Valgrind。免费。

在基于Windows的系统上,Insure ++,Purify ....很多。