Найти информацию hwnd в дампе пользовательского режима в windbg

Я пытаюсь решить одно из моих сбоев приложений, и верхняя часть стека вызовов выглядит следующим образом

0012f480 7739b6e3 0002051e 0000001f 00000000 <Unloaded_A.dll>+0x172b6
0012f4ac 7739b874 15b772b6 0002051e 0000001f user32!InternalCallWinProc+0x28
0012f524 7739c8b8 0b4d074c 15b772b6 0002051e user32!UserCallWinProcCheckWow+0x151 (FPO: [Non-Fpo])
0012f580 7739c9c6 02acfc48 0000001f 00000000 user32!DispatchClientMessage+0xd9 (FPO: [Non-Fpo])
0012f5a8 7c8283c6 0012f5c0 00000018 0012f6f8 user32!__fnDWORD+0x24 (FPO: [Non-Fpo])
0012f5d4 7738a8db 77388416 0002051e 00000000 ntdll!KiUserCallbackDispatcher+0x2e (FPO: [0,0,0])
0012f5ec 0d58c9a6 0002051e 00000000 0012f61c user32!NtUserCallHwndParamLock+0xc

Вышеперечисленное делается с помощью команды kv для моего дампа, и похоже, что модуль выгружается, но есть окно, которое все еще существует и не уничтожено должным образом,

Я хотел бы знать информацию о моем HWND, который здесь 002051e как заголовок окна, процедура окна и другие детали.

Я пытался найти адрес в куче, чтобы найти какую-либо информацию, связанную с ним, но я не могу найти любую.

Существуют определенные расширения, такие как! Hwnd, которые могут отображать информацию hwnd, но те, которые, я думаю, являются внутренними для Microsoft, есть ли какие-либо расширения, доступные каждому для отображения этой информации?

Могу ли я найти эту информацию?

0

Решение

Я не знаю никаких встроенных команд WinDbg, поэтому я могу указать вам SDbgExt который обеспечивает именно !HWND Команда по мере необходимости. Он выводит заголовок и класс окна, стиль окна и расширенный стиль, дескриптор родительского окна и другую потенциально интересную информацию. К сожалению, SDbgExt работает только в живая отладка потому что он получает эту информацию из системы, а не из памяти процесса. Если это работает в дампе, то существует конфликт между вашим дампом и работающей системой, и вы получите полностью вводящую в заблуждение информацию.

Причина этого в том, что окна и очереди сообщений обрабатываются ядром Windows, поэтому у вас нет этой информации в дампе пользовательского режима. Вам понадобится дамп ядра чтобы получить эту информацию — и, вероятно, SDbgExt не предназначен для такого использования.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]