【发布时间】:2012-10-11 15:37:51
【问题描述】:
我正在阅读一些关于内存泄漏的文章。我遇到了一些工具,例如:
- perfmon+debugdiag 是默认的 windows 工具
- 困了
- AMD 代码分析师
- 在 C++ 的 stadx.h 文件中包含 debug_new
- wingdb 与 SOS dll
- 还有一些付费工具。
我想知道perfmon+debugdiag 是否足以检测所有内存泄漏?或者在某些情况下是否有其他更好的工具。我想知道什么时候用什么。
假设我有一个调用第 3 方非托管 dll 的 C# 应用程序。如何找到第 3 方 DLL 中的泄漏?
【问题讨论】:
-
即使我们假设您用来检测内存泄漏的工具是完美的,它也永远无法检测到所有。您本质上要求的是解决停止问题的方法。
-
@quantumSoup,你能更彻底地解释一下吗?如果他重现了他的软件的所有用例,该工具不会达到哪种情况?
-
@Spidey 这是一个相当大的假设。但是,是的,如果你可以做到,当然。
-
是的,我知道这是一个很大的假设,但我担心我应该寻找一些奇怪的案例。
标签: c# c++ memory-leaks