确定已分配';手柄';类型
本文关键字:手柄 类型 分配 | 更新日期: 2023-09-27 18:24:49
我正在调试一个应用程序,我怀疑它正在泄漏win32句柄。任务管理器报告应用程序分配了大约5000个句柄。
使用任务管理器,我计算了GDI和用户对象,发现数字分别是350和73。我用"GetGuiResources"函数验证了这个计数。
使用ProcessExplorer,我查看了底部窗格中打开的句柄。列出了一些文件句柄和DLL,但没有接近5000个。
如何确定这5000个已分配句柄的类型?他们从哪里来?
将WinDbg附加到进程并键入
!handle
它将在最后打印句柄列表和摘要。示例:
>!handle
...
Handle c28
Type File
Handle c2c
Type Section
Handle c30
Type File
Handle c34
Type Event
Handle c44
Type Event
Handle c48
Type File
Handle c4c
Type Section
Handle c50
Type File
636 Handles
Type Count
None 10
Event 267
Section 126
File 132
Directory 2
Mutant 16
WindowStation 2
Semaphore 3
Key 17
Thread 37
Desktop 1
IoCompletion 3
Timer 3
KeyedEvent 1
TpWorkerFactory 16