我有一个应用程序的崩溃转储,据说可能泄漏GDI.该应用程序在XP上运行,我可以将它加载到WinDbg中查看它.以前我们使用
Gdikdx.dll extension来查看Gdi信息,但XP或Vista不支持此扩展.
有没有人有任何指针在WinDbg中找到GDI对象使用.
或者,我可以访问失败的程序(及其压力测试套件),这样我就可以在运行的系统上重现,如果你知道XP和Vista的任何“实时”调试工具(或Windows 2000,虽然这不是我们的目标) .
有一个
MSDN Magazine article from several years ago讨论过GDI漏洞.这指向了几个具有良好信息的不同地方.
在WinDbg中,您也可以尝试使用!poolused命令获取一些信息.
从崩溃转储(验尸)中查找资源泄漏可能很困难 – 如果它总是在同一个地方,使用泄漏内存的相同变量,而且你很幸运,你可以看到它的最后一个地方泄漏等等.在调试器下运行实时程序可能会容易得多.
您也可以尝试使用Microsoft Detours,但许可证并不总是有效.它也更具侵略性和先进性.