【发布时间】:2014-02-25 20:38:43
【问题描述】:
我正在尝试解决我的一个应用程序崩溃问题,调用堆栈的顶部看起来像这样
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 内部的,是否有任何扩展程序可供每个人使用以显示此信息?
有什么方法可以找到这些信息吗?
【问题讨论】:
标签: c++ visual-c++ windbg hwnd window-handles