如何找到我的.Net应用程序泄漏Windows句柄的位置?
发布时间:2020-12-14 05:34:45 所属栏目:Windows 来源:网络整理
导读:我有一个运行在大量XPS文档(数千个)上的WinForms .Net应用程序,在此运行期间,每个文档的句柄数量(根据sysinternals进程监视器和任务管理器)增加了3-10个.我非常怀疑这些是MS .Net XPS框架库打开但未关闭的句柄,但我无法追踪它. 尽管单步执行代码,但在同一运
我有一个运行在大量XPS文档(数千个)上的WinForms .Net应用程序,在此运行期间,每个文档的句柄数量(根据sysinternals进程监视器和任务管理器)增加了3-10个.我非常怀疑这些是MS .Net XPS框架库打开但未关闭的句柄,但我无法追踪它.
尽管单步执行代码,但在同一运行期间,句柄计数会在不同点上增加.例如,一个遍历循环,句柄计数将在一行上跳过1,下次可能不会,或者它可能会跳过2.所以我怀疑XPS com组件有句柄泄漏. 内存使用虽然很好,但是如果我继续用尽这样的句柄,那么我会崩溃应用程序,也许是桌面. 到目前为止,我已经尝试使用sysinternals进程资源管理器来查看句柄,但它们都被标记为没有更多细节.还使用了来自sysinternals的handle.exe,这并未显示快照之前,期间和之后的任何显着差异. 关于如何追踪手柄走向的任何线索?我想我将不得不简化为单线程控制台应用程序进行测试. 问候 瑞安 解决方法
虽然单数使用有点贵,但我们使用
ANTS Profiler,这对于找到这样的问题非常有帮助.您可以下载并试用试用版.
可能还有其他好的剖析器,但这是我熟悉的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- windows – 在不同进程之间共享HDC
- windows-server-2016 – Windows Server 2016中的
- windows-8 – 如何使用data-win-bind设置元素的类
- Microsoft SQL Server备份physical_device_name
- Windows的默认PATH系统变量?
- Wix:我可以在RemoveFolderEx元素上强制条件只在
- Win7安装Oracle10 无法定位程序输入点GetProcess
- windows7+docker搭建nginx和php-fpm环境(官方镜
- 如何使用sap .net连接器从SAP系统获取数据?
- windows – 如何安排任务来调用URL
热点阅读