如何在Win32中找到资源泄漏?

时间:2009-08-12 16:13:21

标签: c++ windows visual-studio-2005 memory-leaks

运行几个小时后,我的应用程序无法创建新的字体对象:

CreateFontIndirect()返回NULL。

我知道如何查找内存泄漏(即使用并行检查器或其他分析器 - 其中大多数包括泄漏检测)。但是如何在Win32中找到资源泄漏?

3 个答案:

答案 0 :(得分:7)

抓住自己GDI View的副本 - 这个有用的工具可以显示你的应用程序使用的所有GDI对象,包括字体名称,大小等的详细信息。这在过去证明非常方便。

对于Win32应用程序,您可能需要查看WTL框架 - 这将使用轻量级C ++类包装GDI对象,这些类将为您处理对象删除。

答案 1 :(得分:5)

看起来MSDN文章 Resource Leaks: Detecting, Locating, and Repairing Your Leaky GDI Code via archive.org)可能会为您提供答案。

答案 2 :(得分:2)

如果你有BoundsChecker,除了内存泄漏之外,它还会跟踪资源泄漏。