我有一个包含许多 dll(托管和非托管)的应用程序。应用程序在执行某些功能时会泄漏内存。所以我想知道,当功能运行时,是否有办法检测出哪些 dll 正在泄漏内存?
我还不是在源代码级别谈论,只是找到泄漏内存的 dll。
谢谢!
我有一个包含许多 dll(托管和非托管)的应用程序。应用程序在执行某些功能时会泄漏内存。所以我想知道,当功能运行时,是否有办法检测出哪些 dll 正在泄漏内存?
我还不是在源代码级别谈论,只是找到泄漏内存的 dll。
谢谢!
听起来你需要一个分析器!如果使用得当,您不仅可以找出哪个 dll 文件正在泄漏内存,还可以找出哪个类/方法正在泄漏内存。我个人喜欢使用Eqatec profiler。
那里有几个免费或付费的分析器。并且有大量信息可以确定哪一个最适合您的需求。这个问题很受欢迎,可以帮助指导您找到最适合您的分析器
在我看来,ANTS 内存分析器是最好的。它不是免费的,但有 14 天的免费试用期。
http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/