我有一个程序泄漏的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. .NET无法诊断USER对象泄漏
- 4. 不能追踪C++泄漏与仪器
- 5. UIPasteboard对象泄漏
- 6. 如何追踪Node.js和Express内存泄漏?
- 7. 如何使用XCode 4中的泄漏识别泄漏对象?
- 8. 如何解决此对象泄漏?
- 9. 如何调试GDI对象泄漏?
- 10. 如何修复CFRuntimeCreateInstance对象泄漏?
- 11. 泄漏对象:ALasset和ALAssetPrivate
- 12. 的iOS:CF对象泄漏
- 13. 泄漏的对象NSDate:ResumeTimer&PauseTimer
- 14. 对象的潜在泄漏
- 15. 对象内存泄漏
- 16. 对象泄漏。 NSAutorelease池
- 17. three.js灯从对象泄漏
- 18. 对象的潜在泄漏
- 19. 内存泄漏 - SQLCommand对象?
- 20. 方法泄漏对象
- 21. Android如何跟踪内存泄漏?
- 22. 如何跟踪处理泄漏?
- 23. 如何跟踪COM内存泄漏
- 24. 如何追踪僵尸对象崩溃?
- 25. _CrtSetBreakAlloc跟踪COM对象中的内存泄漏
- 26. 内存泄漏使用AddressBook:泄漏对象“ABStyleProvider”
- 27. Java内存泄漏迹象
- 28. 跟踪内存泄漏
- 29. 跟踪z3内存泄漏
- 30. 跟踪内存泄漏
指定要用于跟踪它们的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