约有 1,303 项符合查询结果, 以下是第 85 - 131项。
费时 < 1 秒。
感觉有误。在双机内核调试会话中!process和!handle命令显示的都是目标机的信息。
Posted in Windows内核调试
by
格蠹老雷
on 2009-08-28
Q1, 对的,是用默认的段。以Windows为例,DS段的基地址是0,大小是4GB,是可以指向内核空间的,但是通常会通过页属性来禁止用户态代码访问内核态数据。
0:001> dg 23
P Si Gr Pr Lo
Sel Base Limit Type l ze an es ng Flags
---- -------- -------- ---------- - -- -- -- -- --------
0023 00000000 ffffffff Data RW Ac 3 Bg Pg P Nl ...
Posted in Windows内核调试
by
格蠹老雷
on 2009-08-26
可以,使用所谓的DML语法:
<col fg=''name'' bg=''name''>text</col>
具体参考 windbg目录下的DML.doc有详细说明。
Posted in WinDbg
by
格蠹老雷
on 2009-08-25
从错误码来看,是在释放内存时发现这不是一个合法的指针,因为指向的是个常量。应该是个约定,驱动要从内核池分内存, IO系统会释放这个内存。
Posted in Windows内核调试
by
格蠹老雷
on 2009-08-24
如果注册表里正确注册了驱动,那么系统一般会加载驱动文件的,很多驱动的问题都是因为驱动和系统交互不当,又被卸载了。
如果你有这个驱动的调试符号,那么可以设置一个延迟的断点, 比如 bp touchpad!driverentry
这样当这个驱动被加载的时候,断点便会命中。
如果没有符号,那么便很难调试,但是可以通过启用加载模块事件中断下来,比如 sxe ld:touchpad.sys
如果出于学习目的,那么应该找个有符号的驱动,最好还有源代码的来学习。
Posted in Windows内核调试
by
格蠹老雷
on 2009-08-24
看汇编;应该是休眠回来时,根据HalpAcpiPostSleep。
Posted in WinDbg
by
格蠹老雷
on 2009-08-21
首先,是内核中的IO管理器(IO Manager)承担着加载和管理设备和驱动程序的任务。用户态运行的设备管理器只是一个界面程序,它主要是使用Setup API来从IO管理器那里获取信息,然后显示出来。不清楚你的目的是什么,你是要调试你自己开发的TouchPad驱动,还是想学习设备管理器的原理。达到这两目标的方法是有很大不同的。
Posted in Windows内核调试
by
格蠹老雷
on 2009-08-21
几年前,我曾经在《程序员》发表过一篇这方面的文章,电子版在这里,供你参考:
http://advdbg.org/download/storeshow.aspx?id=e62e6ceb-01dc-4f08-8f2f-4ceb560f5673
文中是以CSRSS进程为例,但是调试WinLogon可以用同样的方法。
Posted in Windows内核调试
by
格蠹老雷
on 2009-08-20