我正在閱讀一些關於內存泄漏的文章。內存泄漏檢測器
- 性能監視器+ DebugDiag資料這是默認的Windows工具
- 困
- AMD碼分析師
- 包括一個stadx.h文件DEBUG_NEW爲C++
- :我碰到一些像工具來wingdb與SOS dll
- 還有一些付費工具。
我想知道如果perfmon
+ debugdiag
就足以檢測到所有的內存泄漏?或者有些其他工具在某些情況下更好。我想知道什麼時候用什麼。
假設我有一個調用第三方非託管dll的C#應用程序。如何在第三方DLL中找到泄漏?
我正在閱讀一些關於內存泄漏的文章。內存泄漏檢測器
我想知道如果perfmon
+ debugdiag
就足以檢測到所有的內存泄漏?或者有些其他工具在某些情況下更好。我想知道什麼時候用什麼。
假設我有一個調用第三方非託管dll的C#應用程序。如何在第三方DLL中找到泄漏?
到目前爲止,迄今爲止我用於此任務的最佳工具是.NET Memory Profiler。
但是,你需要知道一些關於你的應用程序,所以你知道要找什麼 – n8wrl
.net內存分析器只是我管理的泄漏。 –
用於此目的的非常好的工具是紅門螞蟻內存分析器:http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/features/
我已經成功的用它僅適用於管理的DLL,但它可以分析COM +應用程序了。
即使我們假設您用來檢測內存泄漏的工具是完美的,它將永遠無法檢測到它們中的所有內存。你基本上要求的是停止問題的解決方案。 – quantumSoup
http://blogs.msdn.com/b/oldnewthing/archive/2006/05/02/588350.aspx – n8wrl
@quantumSoup,你能解釋得更徹底嗎?如果他複製了他的軟件的所有用例,哪種情況下工具無法到達? – Spidey