CII_GZH
驱动中牛
驱动中牛
  • 注册日期2005-06-16
  • 最后登录2007-08-27
  • 粉丝0
  • 关注0
  • 积分257分
  • 威望127点
  • 贡献值0点
  • 好评度33点
  • 原创分0分
  • 专家分0分
阅读:2175回复:3

本站前人总结的(SOFTICE简要使用说明)

楼主#
更多 发布于:2005-07-07 11:28
  请高手近来看看啊,这个2001年的东西现在我们大多书用2000+2000DDk+ VC6.0环境也可能不同了请高手们说说现在这些不是不还能用。新手来看看,练练,以后我们就成为高手了,呵呵。想交流驱动开发的留下MSN啊。
学习
CII_GZH
驱动中牛
驱动中牛
  • 注册日期2005-06-16
  • 最后登录2007-08-27
  • 粉丝0
  • 关注0
  • 积分257分
  • 威望127点
  • 贡献值0点
  • 好评度33点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-07-07 11:28
SOFTICE简要使用说明
软件组成
SOFTICE包括以下几个软件组成部分:WinICE, Symbol Loader, Startup Mode Setup
调试驱动程序的准备工作:
驱动程序的编译连接必须使用CHECK环境,否则将不能进行源代码调试。
一般DDK安装以后,在菜单上都有CHECK模式环境设置和FREE模式环境设置,选择CHECK模式即可。
使用Startup Mode Setup设置WinICE的启动模式。
在NT环境下有4种模式:Boot, System, Automatic, Manual。分别对应一个驱动(服务)启动的模式, Boot模式启动最早, Manual最晚。 WinICE只有早于驱动(服务)启动,才能调试该驱动(服务)。
一般可以将驱动(服务)的启动顺序调整为Manual, 而WinICE的启动模式为Automatic。 本人此次调试HK-CAN30PCI驱动时,由于将WinICE的启动模式设置为System时,屏幕显示出现问题。以按照上述设置启动模式的办法,绕开了该问题。所以也推荐使用上述方法。其实,本人猜测,如果WinICE和驱动的启动模式都设置为Manual,先启动WinICE,再启动驱动程序也应该可以。但这样岂不麻烦。
使用Symbol Loader进行驱动程序符号转化
使用Open Modular菜单打开需要调试的SYS文件。请注意,这必须是驱动启动时实际运行的文件,一般是SYSTEM32DRIVERS目录下的文件,而不是在DDKLIB目录下的文件。
使用Translate菜单将DDK工具生成的符号表转化成WinICE识别的符号表。
在Setting菜单下可以设置选项。
General项:源文件目录是第一次调试某个驱动时必须设置的,否则在转化选项规定将符号和源程序捆绑在一起时无法找到源程序。
Translation项:一般选择“同时加载符号和源程序”,以及“将符号和源程序打包”。
SoftICE Initialization Settings菜单下可以设置ICE启动时的选项:
General项:Initialization String一般设置为”X;”,这样ICE启动时不会弹出其界面。
Symbols项:必须使用ADD按钮将要调试的设备驱动的符号文件,后缀为NMS,加载进来。这样在ICE启动,设备驱动启动之前,将设备驱动的符号加载进来。
Trouble Shooting项:一般不会涉及到此项,但是本人在调试HK-CAN30的NT驱动的时候,如果不禁止鼠标功能的话,则进入ICE界面调试后,使用X命令,或者F5命令,执行程序,ICE界面关闭后,NT下鼠标变的非常混乱,所以不得不禁止鼠标功能。这是不得已而为之,鼠标在ICE界面中如此之方便,令人不舍得割爱。
其他选项一般可以使用缺省设置。
WINICE的使用简介:
WINICE是一个非常复杂和强大的调试工具,其手册重达1000克,在此简要说明WINICE的调试驱动程序的基本步骤。
WINICE的启动和界面的调出:
如果在Startup Mode Setup中设置ICE的启动不是Manual,那么在你看到M$熟悉的界面的时候ICE已经埋伏在系统中了。只需你发出“暗号”即可调出ICE那熟悉(如果你用CODEVIEW调试过DOS程序的话)而陌生的界面,摩拳擦掌调试你那令你又痛又爱的驱动程序了。
启动设置为Manual,那么只能劳您大驾在菜单中选择Start SoftICE,或者在NT的控制台下键入如下命令net start ntice(是不是显得很专业)。
呼出ICE界面的“暗号”。简单之极:CTRL-D。
有一点你一定能够理解,那就是不能用ALT-TAB在ICE界面和其他WIN界面之间进行切换。只有在使用X命令或者F5热键之后才能回到WIN界面。
WINICE最常用的几个命令
X命令,或者F5热键。执行当前程序(当然,很可能当前运行的不是你准备调试的程序,而是系统线程)。如果ICE没有遇到事先设置的断点,ICE界面将消失,重新回到熟悉的Windows界面。
H命令。帮助命令。很有用的命令,但是如果是个新手,还是无济于事,因为列出了太多的命令,你将无处下“爪”。
FILE * 命令。这是一个非常,非常,怎么说呢,如果你在此之前在ICE的“迷宫”里闯荡过而一无所获的,将发现该命令打开了你调试程序的大门。该命令列出了你驱动程序所有的源程序(不包括.H文件)。
你可以继续使用下述命令打开文件:
FILE 文件名
到现在为止,你要调试的驱动程序才真正展示在你面前。快动手吧。
LINES 行数 命令。ICE的界面初始设置为25行,标准的DOS界面。一般程序员都觉得不够大。你可以该命令设置界面的高度。
WC [行数] 命令。开启/关闭代码窗口,设定其高度。
WR [行数] 命令。开启/关闭寄存器窗口,设定其高度。
WW [行数] 命令。开启/关闭WATCH窗口,设定其高度。
WD [行数] 命令。开启/关闭数据窗口,设定其高度。
窗口切换:
ALT-R:寄存器窗口。
ALT-W:WATCH窗口。
ALT-D:数据窗口。
F6:命令窗口和代码窗口之间切换。
设置断点:
在代码窗口中将光标移动到合适的行。
使用F9热键,在光标所在行设定或者清除断点。
断点的类型有好几种,用法也相当灵活,请参考ICE的手册继续深造吧。
WATCH 变量名 命令:
WATHC的设置非常简单,而且变量名称大小写不敏感,这大大方便了驱动程序的调试,因为其中的变量名称又臭又长,还大小写间隔。
热键:
F3:源代码、混合、机器代码之间切换
F5:执行
F6:切换命令窗口和代码窗口
F8:单步执行(Step into)
F9:设置/清除断点
F10:单步执行(Step over)
有了上述若干命令,你已经可以开着WINICE这辆调试工具中的劳斯莱斯上路了,去和你的驱动程序较劲吧。
学习
xaxiao
驱动小牛
驱动小牛
  • 注册日期2007-09-11
  • 最后登录2010-02-10
  • 粉丝1
  • 关注0
  • 积分1分
  • 威望199点
  • 贡献值0点
  • 好评度197点
  • 原创分2分
  • 专家分0分
板凳#
发布于:2007-10-03 19:39
  不错
yxy789
驱动牛犊
驱动牛犊
  • 注册日期2006-04-15
  • 最后登录2013-01-07
  • 粉丝0
  • 关注0
  • 积分210分
  • 威望22点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-10-11 11:52
入门很好
游客

返回顶部