获取每个线程打开的句柄数
Getting the number of handle open per thread
我担心我的组件泄漏了句柄。
我看到手柄的数量正在逐渐增加
使用句柄实用程序,我能够找出句柄的数量和每个句柄的类型。看来我以某种方式泄漏了事件句柄。我根本不创建事件。也许某些基础导致事件句柄泄漏。为了缩小搜索范围,我想获取每个线程打开的句柄数。
我也尝试了windbg htrace(snapshot and diff)。无法获得有关我的线程的太多信息。是否有任何实用程序可以给我信息
- 每个线程或
- 打开的句柄的名称
不,事件句柄根本不与线程关联。 而且它们通常没有名称,仅在需要跨进程共享时才使用。
考虑在 CreateEvent() 上设置一个断点,这样你至少会知道从哪里开始查找。 调试 + 新断点 + 函数中断。 键入 __imp__CreateEventW@16
作为函数名称。 为以防万一,还要为 A 版本添加断点。 或者用_NtCreateEvent@20
,调试符号来捕获它们。
相关文章:
- 线程1:EXC_BAD_ACCESS错误,此错误在第一行的CPP文件中的句柄函数中出现
- 打开线程并关闭多个线程句柄
- 从本机句柄创建std ::线程
- C++-SQLite3在多线程环境中泄漏句柄
- 在多线程中使用curl句柄的错误工作方法的替代方法
- 谁负责为线程句柄调用 CloseHandle()
- 获取每个线程打开的句柄数
- 如何在事件发生时启动线程并严格关闭其句柄
- 将 C# 窗口句柄传递给非托管代码 - 跨线程异常
- 为什么这个非常简单的返回 std::move(线程句柄)失败
- 提升线程 检查当前线程是否等于另一个本机句柄
- 如何从win32进程中获取线程句柄列表
- Linux:通过boost:: Thread的句柄获取线程ID
- 通过线程句柄获取线程的 TIB/TEB (2015)
- WaitForSingleObject与线程句柄卡住,同时运行regsvr32.exe
- 在退出关联线程之前关闭线程句柄
- 线程是否需要获得互斥对象的所有权才能关闭互斥对象的句柄
- 将 MFC 控件传递给线程或传递句柄
- 从线程中获取本机句柄
- 获取特定进程的线程句柄/id