问题描述
我正在对应用程序挂起问题进行转储文件分析.这是堆栈跟踪中有趣的一行.
I am doing a dump file analyis for an application hang problem. Here is one interesting line from the stack trace.
0bc2f3e4 75a8bd1e 0bc2f298 0bc2f30c 00000001 ntdll!KiFastSystemCallRet
0bc2f32a 6a393c42 00000001 7ffdf000 00000001 kernel32!WaitForMultipleObjectsEx+0x8e
查看 WaitForMultipleObjectExMSDN中的描述,第二个参数是const HANDLE *lpHandles.这让我觉得我应该能够做一个 !handle 7ffdf000 来找出它在等待哪个事件,但是当我这样做时,我得到了关注
Looking at WaitForMultipleObjectEx description in MSDN, the second parameter is const HANDLE *lpHandles. This make me thing that I should be able to do a !handle 7ffdf000 to figure out which event is it waiting for but when I do that, I get following
检索类型时出现类型错误
Type Error retrieving type
任何想法我在这里可能做错了什么,或者关于获取有关挂起原因的更多详细信息的任何提示?
Any ideas what I may be doing wrong here or any tips on getting more details on cause of hang?
推荐答案
第二个参数是指向 HANDLE 数组的指针.在您的情况下,由于数组的大小为 1,您应该能够使用 command
转储句柄!handle poi 7ffdf000
The second parameter is pointer to array of HANDLE's. In your case, since the size of array is 1, you should be able to dump the handle using command!handle poi 7ffdf000
这篇关于如何处理可能导致我的应用程序进入挂起状态的事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!