首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >!htrace没有显示调用堆栈。

!htrace没有显示调用堆栈。
EN

Stack Overflow用户
提问于 2011-05-17 13:12:06
回答 1查看 1.4K关注 0票数 0

当我在WinDbg中使用WinDbg来调试句柄泄漏时,我得到了许多没有显示调用堆栈的句柄(可能是那些正在泄漏的句柄):

这样做的原因是什么,我还需要哪些选项来进一步调试呢?

代码语言:javascript
复制
Handle = 0x000273e4 - OPEN
Thread ID = 0x00001190, Process ID = 0x0000114c

--------------------------------------
Handle = 0x000273e0 - OPEN
Thread ID = 0x00001190, Process ID = 0x0000114c

--------------------------------------
Handle = 0x000273dc - OPEN
Thread ID = 0x00001190, Process ID = 0x0000114c

--------------------------------------
Handle = 0x000273d8 - OPEN
Thread ID = 0x00001190, Process ID = 0x0000114c

--------------------------------------
Handle = 0x000273d4 - OPEN
Thread ID = 0x00001190, Process ID = 0x0000114c

--------------------------------------
Handle = 0x000273d0 - OPEN
Thread ID = 0x00001190, Process ID = 0x0000114c

--------------------------------------
Handle = 0x000273cc - OPEN
Thread ID = 0x00001190, Process ID = 0x0000114c

--------------------------------------
Handle = 0x000273c8 - OPEN
Thread ID = 0x00001190, Process ID = 0x0000114c

--------------------------------------
Handle = 0x000273c4 - OPEN
Thread ID = 0x00001190, Process ID = 0x0000114c

--------------------------------------
Handle = 0x000273c0 - OPEN
Thread ID = 0x00001190, Process ID = 0x0000114c

--------------------------------------
Handle = 0x000273bc - OPEN
Thread ID = 0x00001190, Process ID = 0x0000114c

--------------------------------------
Handle = 0x000273b8 - OPEN
Thread ID = 0x00001190, Process ID = 0x0000114c

--------------------------------------
Handle = 0x000273b4 - OPEN
Thread ID = 0x00001190, Process ID = 0x0000114c

--------------------------------------
Handle = 0x000273b0 - OPEN
Thread ID = 0x00001190, Process ID = 0x0000114c

--------------------------------------
Handle = 0x000273ac - OPEN
Thread ID = 0x00001190, Process ID = 0x0000114c

--------------------------------------
Handle = 0x000273a8 - OPEN
Thread ID = 0x00001190, Process ID = 0x0000114c

--------------------------------------
Handle = 0x000273a4 - OPEN
Thread ID = 0x00001190, Process ID = 0x0000114c

--------------------------------------

更新:句柄泄漏似乎取决于图形驱动程序或图形卡。当我使用任何形式的WPF时,它就会开始泄漏,它只会在某些Windows系统上用特定的图形卡/驱动程序泄漏。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-10-21 21:26:15

调用在内核模式下由ZwOpenProcess例程(http://msdn.microsoft.com/en-us/library/windows/hardware/ff567022(v=vs.85).aspx)执行,而不是在ZwClose调用之后执行。然后把手漏了。您看不到这些调用堆栈,因为它们只有在从用户模式(OpenProcess / CloseHandle)执行调用时才可用。

在XP SP3上,似乎很难找到罪魁祸首。解决方案是使用在操作系统中构建的“对象引用跟踪”功能,但是这条路径是由问题铺就的(进一步的引用请参见http://www.osronline.com/showthread.cfm?link=198302 )。因为您发现这个问题只有在某个特定的显卡出现时才会出现,所以您可以尝试与供应商联系或检查驱动程序的更新版本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6031253

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档