2011-10-18 31 views
0

我有一個作爲後臺進程產生的進程,由於某種原因似乎在後臺拋出了一個消息框。所以這個過程掛起了,我無法得到消息。來自GetMessageW或NtUserGetMessage的消息文本

任何人都可以告訴我如何通過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 

謝謝!

+0

服務是否創建了進程?如果不是,那麼「背景」是什麼意思? – eran

回答

4

它不顯示消息 - 它是簡單的Windows消息接收/處理/調度循環。 Windows消息是一個事件,如計時器或鼠標移動。所以,線程並沒有真正卡住,只是如果沒有消息發佈到這個線程的消息隊列,GetMessage就會阻塞。