来自GetMessageW或NtUserGetMessage的消息文本

Ove*_*ide 0 windbg getmessage

我有一个作为后台进程生成的进程,由于某种原因,似乎在后台抛出了一个消息框.所以这个过程挂了,我无法得到消息.

任何人都可以告诉我如何通过WinDbg或任何其他方式获取此消息中的文本?这是Windows Server 2008 x64上的x64本机c ++进程.

"挂起"线程(0)上的堆栈顶部是:

00000000`0012fdc8 00000000`76ad9e9e USER32!NtUserGetMessage+0xa
00000000`0012fdd0 00000001`40bb2b04 USER32!GetMessageW+0x34
[..internal code...]
00000000`0012ff60 00000000`7707c521 kernel32!BaseThreadInitThunk+0xd
00000000`0012ff90 00000000`00000000 ntdll!RtlUserThreadStart+0x1d
Run Code Online (Sandbox Code Playgroud)

谢谢!

dee*_*mok 5

它不显示消息 - 它是简单的Windows消息接收/处理/分派循环.Windows消息是一个事件,如计时器或鼠标移动.因此,线程并没有真正卡住,只是如果没有消息发布到此线程的消息队列,则GetMessage会阻塞.