【发布时间】:2011-04-20 21:10:51
【问题描述】:
我们的一个旧应用程序在 1 台特定机器上产生资源泄漏。随着时间的推移,整体处理器使用率会增加,直到应用程序关闭并重新启动。
使用perfmon 我发现进程的句柄计数和处理器使用率之间存在直接关联。这个计数上升到数千个,我使用 SysInternal 的 handle 来暴露所有额外的句柄(至少在今天下午运行 handle 的过程中)的路径为 \Device\00000066。
我想了解如何发现有关设备路径所指的确切设备的更多信息,以便我们知道从这里到哪里去。我强烈怀疑该设备是密码键盘(在借记交易中使用),但需要证明。
Windows XP sp3。
分辨率 在 Seva Titov 的建议帮助我确定它是一个 USB 设备后,我有了一个主要嫌疑人:一个现金抽屉。我们让客户拔掉它并手动使用它几个小时:句柄没有不断增加。我查看了该项目的代码,开发人员在获得它们后忽略了关闭设备的句柄。句柄的迅速增加是由于一个计时器在抽屉打开后检查它的状态以确定用户何时关闭它。
【问题讨论】:
标签: performance winapi vb6 device