约有 6 项符合查询结果, 以下是第 1 - 1项。
费时 < 1 秒。
还有,这个扩展很好,但不足之处在于,命令对应完全转储的dmp则不能使用。
比如一个最简单的例子就是,我想知道某个转储中的窗口的位置是不是跑到了九霄云外。
如果能从内存数据中分析就好了。
Posted in Windows内核调试
by
学习
on 2009-02-05
还有,看了sdbgext的源码,对hwnd命令,里面采用的GetWindowLongPtr获取各种属性,但独有WndProc不能取到,而spy++则可以取到,貌似MS的spy++也是用GetWindowLongPtr获取的呀,难道spy++用的其他方式?
我原以为sdbgext源码里面会列出HWND与内核中未公开数据结构那个对应关系。:(
Posted in Windows内核调试
by
学习
on 2009-02-05
哈,谢谢张老师,看来俺这次的描述让大家理解了。
都怪俺孤陋寡闻,现在才知道有sdbgext扩展,还没有用过她。
怕各位笑话,不敢再问这个模块怎样能获得了,自己搜搜了。
第一个问题正如你所说的。需要得到这样信息。看你贴的例子里面,对应HWND,咋没有其Position和Rect信息呀。
第二个问题的解决方案中牵出俺不会的另一个问题:.call指令调用GetWindowLongPtr如何传参数?
Posted in Windows内核调试
by
学习
on 2009-02-05
:),谢谢张老师的回答。
俺不是考查高网的水平,但俺的问题也不至于那么菜呀。
第一个问题:
HWND是四个字节的数值,但通过这个整数如何获取窗口的各种属性呢?比如显示、大小、ID、Parent、PID、TID等等等等。
如同HOBJECT,对应着一个GDITableEntry一样,通过HOBJECT可以了解更多的信息。
在使用windbg查找解决应用层问题的时候,往往现场很难重现,或者重现后界面已经不可见,根据堆栈,了解某些HWND的各种属性对解决问题很重要,从HWND如何了解这些就成了比较关键的手段。在windows2000上,windbg带了一个gdi的命令库,但xp以后版本中没有了。
如何去做?
HWND应该也对应着一个数据结构吧,却没有搜索到相关资料,即使MS不公开 ...
Posted in Windows内核调试
by
学习
on 2009-02-05
windbg如何查看HWND的数据结构?如何在窗口过程上下断点?
谢谢各位!
Posted in Windows内核调试
by
学习
on 2009-02-03