阅读:1803回复:7
SoftICE问题!
我在win 2000下,用SoftICE来debug驱动程序(*.sys)。
我先Symbol Loader中open module *.sys,再translate,再add the Symbol File *.nms。然后在SoftICE Initialization Settings...中设置了Initialization String为BPX DriverEntry, BPX xxxFindAdapter, BPX xxxStartIo,等等,但是它不会停在DriverEntry或FindAdapter处,而直接断在StartIo了,这是怎么一回事呢?有什么方法可以进到DriverEntry或FindAdapter中debug呢?是不是SoftICE在win 2000下使用要进行一些附加的设置,比如修改bat文件之类的?请各位斑竹、资深会员、论坛大佬为小弟指点一二,谢谢啦! |
|
最新喜欢:chxun
|
沙发#
发布于:2002-04-08 13:01
没有理由啊,不过你可以如此试试:
先将驱动程序卸载,用Loader32打开sys文件,设好断点如DriverEntry等,再用控制面板的添加新硬件重新安装。安装时会马上运行驱动程序的Init例程,应该可以断到了吧! |
|
|
板凳#
发布于:2002-04-08 16:20
我照您说的作了,它好像断是断了,但只是一闪而过,就黑屏了,按Ctrl + D,会继续安装,然后又闪,又黑屏,就再也回不到Windows了,死机了!怎么办?
|
|
|
地板#
发布于:2002-04-08 16:36
可能的原因:
1、SoftIce没有配置好; 2、驱动程序写的有问题。 估计是前一种问题,因为SOFYICE断住的话,你不输入g或x命令就不应该继续执行。 |
|
|
地下室#
发布于:2002-04-09 13:10
再请教版主,该怎么配置SoftICE才对呢?有哪些配置呢?
|
|
|
5楼#
发布于:2002-04-09 14:03
你开始的时候断不住是因为你设置断点之前该例程已经运行了!所以在你设置断点之后也不会弹出来,还有就是有一些类型的驱动程序是不能随便卸载再从新加载的!不知道你调试的驱动程序是不是这个类型,你可以修改SOFTICE的设置,在LOADER32里面的菜单里面有
菜单EDIT里面的general,里面有一些初始化的设置,把那个X;去掉,再看看吧,具体的你要看使用教程了,本站有的下 |
|
6楼#
发布于:2002-04-09 17:25
我写的是SCSI的驱动。‘X’去掉我也试过了,不行。
我还试过另一种方法,再DriverEntry中加一句“_asm int 3”,然后再Symbol Loader的Initialization Setting中加上“I3HERE ON”,但也没用,这会更糟,启动的时候就蓝屏了。显示 STOP:0x0000001E(0x80000003,0xF5A9o2C8,0x00000000,0x81694810) KMODE_EXCEPTION_NOT_HANDLED |
|
|
7楼#
发布于:2002-04-09 23:28
你写的这个类型的驱动程序我估计是在系统还没有加载SOFTICE的时候就已经加载你的驱动程序了,所以在你启动的时候会出现那个 INT 3的错误代码,要调试你的这个驱动程序可能需要用到WINDBG了!就是双机调试了
|
|