1.6 ntoskrnl.nms带来的问题
Q:
系统是英文版XP SP2,以前可以正常使用SoftICE调试srv.sys。最近发现启用NTICE 之后一旦进行SMB通信,就会导致BSOD,即使没有设置过任何断点。
AD:
回忆一下,在最后一次正常使用SoftICE之后这个系统发生过什么变动?
QD:
哦,是的,我对该系统进行过升级,具体说就是安装过微软发布的一些安全补丁。等 等,我不可想卸载那堆补丁,实话说吧,我不记得最后一次正常使用SoftICE之后安 装过哪些补丁了,太多了,而这期间我没使用过这个系统。
A:
你是不是设置过使用ntoskrnl.nms,当ntoskrnl.nms与ntoskrnl.exe版本匹配时,这 样做当然没有问题,还很有好处。可当二者版本不匹配时,就会出问题,检查一下。
QD:
用Symbol Retriever试着同步ntoskrnl.exe的符号文件,报"Error - Download"。现 在可以确认ntoskrnl.nms与ntoskrnl.exe版本不匹配了,有什么解决办法吗。
A:
看来某个安全补丁升级了ntoskrnl.exe,而微软没有提供相应的符号文件。既然这样, 你只好放弃ntoskrnl.nms了。修改"%systemroot%\system32\drivers\winice.dat":
;LOAD=x:\nmsout\ntoskrnl.nms ;NTSYMBOLS=ON
注释掉与ntoskrnl.nms相关的行,然后"net start ntice"。
QD:
果然又可以正常使用SoftICE进行调试了。
A:
如果设置过使用ntoskrnl.nms,应该确认后续的安全补丁没有升级ntoskrnl.exe。如 果有升级,应及时同步符号文件得到匹配版本的ntoskrnl.nms。在做不到这一点时, 应停止使用ntoskrnl.nms。