Re: 如何观察分析dump文件中的窗口句柄信息。

Windows内核调试

如何观察分析dump文件中的窗口句柄信息。


wrong 2012-04-28, 15:18 下午
使用Windbg生成了一个用户态进程的mini dump,在这个Dump文件中能够查看查看一个HWND的相关信息嘛?如窗口style,窗口类的信息等等。还是说这些信息在内核态,mini dump中没有包含?

Re: 如何观察分析dump文件中的窗口句柄信息。


格蠹老雷 2012-05-02, 22:17 下午
.dump命令有个/h选项,加了这个选项后,会将句柄信息写入转储文件;但是包含的信息也比较有限,一般只有句柄取值,句柄对象的类型等。要想包含更多信息,要定制转储的过程,提供回调函数给minidumpwritedump API...

Re: 如何观察分析dump文件中的窗口句柄信息。


格蠹老雷 2012-05-02, 22:29 下午
test

Re: 如何观察分析dump文件中的窗口句柄信息。


格蠹老雷 2012-05-02, 22:45 下午

后面一个test是为了测试HTML编辑控件,多谢这个帖子,触发我解决了编辑控件方面的一个大问题

Re: 如何观察分析dump文件中的窗口句柄信息。


wrong 2012-05-04, 13:54 下午

这个dump文件是使用/ma选项生成的,理论上应该包含了所有的信息。

问题是我可以通过函数的参数看到句柄的数值,比如说SendMessage,但是不知道怎么才能够从这个句柄中得到窗口的进一步的信息,如窗口样式,窗口过程等等。

Re: 如何观察分析dump文件中的窗口句柄信息。


Thomson 2012-05-06, 23:33 下午
在live debugging模式下面能得到么? 如果可以,那可能是dump里面少了信息。

张老师,突然发现我能回帖了,这个不会就是你上面test的问题吧。

Re: 如何观察分析dump文件中的窗口句柄信息。


wrong 2012-05-07, 10:11 上午
我现在就是有点迷糊,这个窗口句柄对象是放哪里?如果是放在内核的,那user mode的dump文件里肯定是没有的。如果是放在user mode的,那dump文件里会有,只是要想个方法把它找出来。

Re: 如何观察分析dump文件中的窗口句柄信息。


Thomson 2012-05-07, 20:15 下午
应该是放在kernel mode memory 里面的,但是如果.dump包括了/h,应该会把这部分信息query出来写到dump里面。

Re: 如何观察分析dump文件中的窗口句柄信息。


wrong 2012-05-08, 09:38 上午

 Thomson wrote:
应该是放在kernel mode memory 里面的,但是如果.dump包括了/h,应该会把这部分信息query出来写到dump里面。

使用/ma生成的dump那应该包含了这个句柄的信息。那有什么方法或者命令来查询这个窗口的信息呢?

Re: 如何观察分析dump文件中的窗口句柄信息。


格蠹老雷 2012-05-08, 13:26 下午

haha, 应该是的,不好意思啊,更新控件时,脚本文件没更新好

使用!sdbgext.hwnd可以看到窗口的详细信息,比如:

0:001> !sdbgext.hwnd 00070836
Window    00070836
Name      Minesweeper
Class     Minesweeper
WndProc   00000000
Style     WS_OVERLAPPED
ExStyle   WS_EX_WINDOWEDGE WS_EX_LEFT WS_EX_LTRREADING WS_EX_RIGHTSCROLLBAR
HInstance 01000000
ParentWnd 00000000
Id        11281ae1
UserData  00000000
Unicode   TRUE
ThreadId  000021b0
ProcessId 000007bc

但这些信息应该是调用窗口API得到的,DUMP中即使/h可能也没有这些信息..

Re: 如何观察分析dump文件中的窗口句柄信息。


wrong 2012-05-09, 09:53 上午
 Raymond wrote:

haha, 应该是的,不好意思啊,更新控件时,脚本文件没更新好

使用!sdbgext.hwnd可以看到窗口的详细信息,比如:

0:001> !sdbgext.hwnd 00070836
Window    00070836
Name      Minesweeper
Class     Minesweeper
WndProc   00000000
Style     WS_OVERLAPPED
ExStyle   WS_EX_WINDOWEDGE WS_EX_LEFT WS_EX_LTRREADING WS_EX_RIGHTSCROLLBAR
HInstance 01000000
ParentWnd 00000000
Id        11281ae1
UserData  00000000
Unicode   TRUE
ThreadId  000021b0
ProcessId 000007bc

但这些信息应该是调用窗口API得到的,DUMP中即使/h可能也没有这些信息..

是的。我在dump文件中使用hwnd命令无效,因为很可能这个命令不是从进程的内存空间去获取信息的。

Powered by Community Server Powered by CnForums.Net