2012-10-11 177 views
2

我正在閱讀一些關於內存泄漏的文章。內存泄漏檢測器

  1. 性能監視器+ DebugDiag資料這是默認的Windows工具
  2. AMD碼分析師
  3. 包括一個stadx.h文件DEBUG_NEW爲C++
  4. :我碰到一些像工具來wingdb與SOS dll
  5. 還有一些付費工具。

我想知道如果perfmon + debugdiag就足以檢測到所有的內存泄漏?或者有些其他工具在某些情況下更好。我想知道什麼時候用什麼。

假設我有一個調用第三方非託管dll的C#應用​​程序。如何在第三方DLL中找到泄漏?

+1

即使我們假設您用來檢測內存泄漏的工具是完美的,它將永遠無法檢測到它們中的所有內存。你基本上要求的是停止問題的解決方案。 – quantumSoup

+0

http://blogs.msdn.com/b/oldnewthing/archive/2006/05/02/588350.aspx – n8wrl

+1

@quantumSoup,你能解釋得更徹底嗎?如果他複製了他的軟件的所有用例,哪種情況下工具無法到達? – Spidey

回答

1

到目前爲止,迄今爲止我用於此任務的最佳工具是.NET Memory Profiler

+0

但是,你需要知道一些關於你的應用程序,所以你知道要找什麼 – n8wrl

+0

.net內存分析器只是我管理的泄漏。 –