我有一个程序泄漏的USER对象可以在任务管理器中看到。有没有办法确定哪种资源正在泄露?我已经使用GDI View等程序来处理GDI泄漏,并按对象类型对其进行分解。对于USER对象有没有类似的东西?如何追踪Windows USER对象泄漏?
4
A
回答
0
2
您可以通过钩住Create/DestroyWindow来追踪窗口句柄泄漏,然后追踪传递的句柄。通过这种方式,您可以使用ETW轻松生成WPA中的图表,其中尚未删除的多余句柄不会被删除。
见http://geekswithblogs.net/akraus1/archive/2016/01/30/172079.aspx
随着我EasyHook的叉它的工作原理也针对x64在Win 8和更高版本。 下面是一个使用ETWStackwalk.exe创建的图像,它是我的EasyHook分支的一部分。使用WPA,您可以通过检查AllocSize列的值> 0来查看所有打开和关闭以及哪些窗口仍处于打开状态。 然后筛选仍然处理程序处于打开状态的事件,并直接调用它分配但未分配的调用堆栈至今。
如果你是刷或字体后,你需要为你怀疑负责对泄漏的方法,延长刀具。只要您知道哪些方法可能会造成泄漏,并且您能够锁定资源分配和免费呼叫,所提出的方法就能够解决任何资源泄漏问题。
相关问题
- 1. 追踪.NET Windows服务内存泄漏
- 2. 如何追踪mod_perl内存泄漏?
- 3. UIPasteboard对象泄漏
- 4. 如何追踪Node.js和Express内存泄漏?
- 5. 如何使用XCode 4中的泄漏识别泄漏对象?
- 6. 如何解决此对象泄漏?
- 7. 如何调试GDI对象泄漏?
- 8. 对象的潜在泄漏
- 9. 对象内存泄漏
- 10. three.js灯从对象泄漏
- 11. 方法泄漏对象
- 12. 如何跟踪COM内存泄漏
- 13. _CrtSetBreakAlloc跟踪COM对象中的内存泄漏
- 14. 内存泄漏使用AddressBook:泄漏对象“ABStyleProvider”
- 15. 跟踪内存泄漏
- 16. 跟踪连接泄漏
- 17. 跟踪内存泄漏
- 18. GDI对象泄漏在cairo重新对焦或gtk在Windows上?
- 19. 追踪Vue.js服务器端渲染中的内存泄漏?
- 20. 什么是追踪内存泄漏的最佳方式
- 21. 追踪WCF服务中的内存泄漏
- 22. XCode调试/追踪僵尸/仪器泄漏
- 23. 尝试使用打开的CV和SDL追踪内存泄漏
- 24. 试图追踪在cocos2D应用程序中的内存泄漏
- 25. 追踪Android中的内存/窗口泄漏?
- 26. 追踪WinSock MFC应用程序中句柄泄漏的来源
- 27. 内存泄漏:在线分配的对象的潜在泄漏
- 28. 将字符串泄露给对象时泄漏
- 29. 如何追踪asp.net应用程序中的明显内存泄漏?
- 30. 在Linux下,如何在预建软件中追踪内存泄漏?
指定要用于跟踪它们的Windows版本会很有帮助。举个例子,Windows 7带有一些内置工具,可以提供帮助。我个人更喜欢使用AQTime作为分析器,它具有这些“泄漏检测”功能。 – 0xC0000022L 2011-03-18 17:06:50
我正在运行Windows 7.我应该寻找哪些内置工具? – Ryand 2011-03-18 17:18:09
我一直在思考Application Verifier的问题,但是我的记忆使我失望,认为只有堆问题。但是,ETW(Windows事件跟踪)可能是一条合适的路线。对困惑感到抱歉。 – 0xC0000022L 2011-03-18 17:40:46