获取每个线程打开的句柄数

时间:2013-11-17 13:36:22

标签: c++ windows debugging windbg handle

我担心我的组件漏水处理。

我看到手柄的数量逐渐增加

使用句柄实用程序我能够找出句柄的数量和每个句柄的类型。 看来我在某种程度上泄漏事件句柄。我根本不创建活动。也许潜在的东西导致事件句柄被泄露。为了缩小搜索范围,我想获得每个线程打开的句柄数。

我也试过了windbg htrace(快照和差异)。无法获得有关我的线程的更多信息。 有没有可以提供信息的实用工具

  1. 每个帖子或
  2. 手柄名称打开

1 个答案:

答案 0 :(得分:3)

不,事件句柄根本不与线程相关联。它们通常没有名称,只有在需要跨进程共享时才会使用它。

考虑在CreateEvent()上设置一个断点,这样你至少可以知道从哪里开始查找。调试+新断点+函数中断。键入__imp__CreateEventW@16作为函数名称。为了以防万一,还为A版本添加断点。或者用_NtCreateEvent@20捕获它们,调试所需的符号。