0

バックグラウンド プロセスとして生成されたプロセスがありますが、何らかの理由でバックグラウンドでメッセージ ボックスが表示されるようです。そのため、プロセスがハングし、メッセージを取得できません。

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

ありがとう!

4

1 に答える 1

5

メッセージは表示されません。単純な Windows メッセージの受信/処理/ディスパッチ ループです。Windows メッセージは、タイマーやマウスの移動などのイベントです。したがって、スレッドは実際にはスタックしていません。このスレッドのメッセージ キューにメッセージが投稿されていない場合、GetMessage がブロックされるだけです。

于 2011-10-18T08:32:06.870 に答える