ABUABU
驱动小牛
驱动小牛
  • 注册日期2002-12-31
  • 最后登录2005-08-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2215回复:17

驱动调试步骤纠正-放70分

楼主#
更多 发布于:2003-04-04 16:14
 (我用2000DDK+VC的方法来编写驱动程序,使用softice来调试程序。本人编写的是protocol驱动,现在程序已经写了,但调试步骤恐怕有误)
  我在程序里是使用DebugPrint来提示的,但现在我无法看到这些字句。(我在DriverEntry下来的第一句语句就有DebugPrint了,还是无法出现我想看到的提示。)   
 我搜索了一轮有关的帖子(尤其是mailme 的帖子,*^-^*),得到下面的步骤,一一列出,希望高手不吝赐教。


第一步:用VC编写好的驱动(内有DebugPrint调试信息),使用DDK的Checked Build Envitonment来编译,
    --获得一个.sys的文件。命名为aaa.sys,放在F:\\下
第二步:用“ Start SoftICE”来激活softice(Ctrl+D能唤出来的状态)
第三步: 使用softice的“symbol loader”,
 1)设置---modul的设置(当然就只设置一次:) )
  * 选菜单module下的settings
  * general里,只将prompt for missing source打勾,其余不管
  * debugging里,选load symbol information
      * Translation里,选symbols and source code和package source with symbol
      * modules and files不用管,是用来在系统启动时调试驱动用的
 2)Load---
      * 从菜单里选中“OPEN MODULE”,或者点击“OPEN”
  * 在弹出的对话框里,选中我要load的文件aaa.sys
      * 在modul的菜单条里选择“load”,或者是点击“load”按钮。
 3)translate---
  * 点击modul菜单下的“translate”或者是translate按钮。则生成一个.nms的文件
 4)退出symbol loader
第四步: 在SOFTICE中执行“file*”列出所有源文件,然后\"file 文件名”看代码。
第五步: 用F9加断点,然后“g”,退出softice
第六步: 安装这个协议驱动aaa.sys,然后没有什么现象。
  有人告诉我最后一步是运行自己的exe调试程序,然后程序调用.sys的驱动时softice会弹出来,停在断点位置 。



我的问题是:
   1  我的步骤错在哪里了,高人能指点一下吗?
 2 对于类似于TCP/IP的协议驱动,写exe调试程序这是必要的步骤吗?
 3 如果写exe调试程序是必要的,那DDK模板程序里DebugPrint里的提示信息又有什么用阿?
 
 到底协议驱动的调试步骤是怎么样的阿,我实在百思不得其解。我也看了一些softice的帮助,但找不到对应的部分。我的期限快到了,恳求大虾能给指点一下,最好是详细一点的提示。
 非常所有能看到这里的朋友,:)

[编辑 -  4/4/03 by  ABUABU]

最新喜欢:

aqua_aquaaqua_a...
小鸟,扑腾~~扑腾~~扑腾~~
ABUABU
驱动小牛
驱动小牛
  • 注册日期2002-12-31
  • 最后登录2005-08-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-04-04 16:58

没有人愿意理我吗?~~~~
小鸟,扑腾~~扑腾~~扑腾~~
板凳#
发布于:2003-04-04 17:27
呵呵!估计是因为系统没有加载你的驱动程序的原因吧!在你安装了协议驱动程序之后,进入softice(ctrl+d)用sym看看吧!如果符号有对应的ring0地址,那么证明了驱动程序已经加进内核了!只是有可能你断点的地方没有运行到所以没有弹出softice,如果这些符号没有对应的内核地址,那么证明你的驱动程序没有加载。有可能是因为需要从新启动机器才加载你的驱动程序,有可能是因为你使用了一些系统不支持的函数,也有可能是你安装的问题了,
对于说符号有对应的地址指的是当加载了驱动程序和符号的话!那么使用sym之后,对应的就会出来你的驱动程序的符号,在符号之前有一个地址,当没有加载程序的话,那么这些符号都是一些相对偏移。就是一些什么00001004,一般的值都不会大。如果程序加载了,特别是驱动程序,那么就会出先8:xxxxxxxxx的地址!
mailme
驱动老牛
驱动老牛
  • 注册日期2001-05-21
  • 最后登录2010-02-25
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-04-04 19:00

1、感觉上没有错
2、既然你是协议驱动,那可能用exe调试就不是必要的了,不过你必须让系统运行你加了断点的代码的
3、debugprint可以让你不用到处加断点,他可以直接将调试信息输出,呵呵,不过总感觉没有直接看代码直观

你可以依照挑战者说的,看看你的驱动是否已经加载。

呵呵,我刚刚开始学习网络驱动,所以不能给你更多帮助咯,大家一起进步吧。
早起早睡 精神百倍
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2003-04-05 00:38
估计是driver没有被call,没有run到断点处,当然不会跳出si了
除非出错了 :D
mailme
驱动老牛
驱动老牛
  • 注册日期2001-05-21
  • 最后登录2010-02-25
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-04-05 13:09
有可能,那就只有从一开始加断点了:(
早起早睡 精神百倍
ABUABU
驱动小牛
驱动小牛
  • 注册日期2002-12-31
  • 最后登录2005-08-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-04-05 22:18
感谢大家的指导,我周一再试一下~~~(*^-^*,因为和我的另外的软件冲突了,所以只在公司的机器装这个东西)

哦,还有一个小问题就是,我的softice窗口出现时,我的鼠标是看不到的,只是鼠标移动的时候,屏幕上有数据变化,还有一些蓝色的诸如COPY的菜单条出现。这是正常的吗?我看过一些帮助,好像是可以用鼠标来选择到那个区的哦~~~~~是不是我的版本问题阿?我的好像是3.25的版本。论坛上有朋友说用4.27版最好,是吗?
小鸟,扑腾~~扑腾~~扑腾~~
mfc
mfc
驱动牛犊
驱动牛犊
  • 注册日期2001-05-08
  • 最后登录2018-05-30
  • 粉丝0
  • 关注0
  • 积分-16分
  • 威望100点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-04-08 15:05
DebugPrint 在 Checked 下输出,在 Free 下不输出,

若要在 Free下输出,要在 #include\"DebugPrint.h\"前加
#define DEBUGPRINT 1
libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-04-08 15:16
感谢大家的指导,我周一再试一下~~~(*^-^*,因为和我的另外的软件冲突了,所以只在公司的机器装这个东西)

哦,还有一个小问题就是,我的softice窗口出现时,我的鼠标是看不到的,只是鼠标移动的时候,屏幕上有数据变化,还有一些蓝色的诸如COPY的菜单条出现。这是正常的吗?我看过一些帮助,好像是可以用鼠标来选择到那个区的哦~~~~~是不是我的版本问题阿?我的好像是3.25的版本。论坛上有朋友说用4.27版最好,是吗?


我的也是这种情况,我估计这是正常的,我的SOFTICE是DS2。01版的!
我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
mailme
驱动老牛
驱动老牛
  • 注册日期2001-05-21
  • 最后登录2010-02-25
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-04-09 09:37
感谢大家的指导,我周一再试一下~~~(*^-^*,因为和我的另外的软件冲突了,所以只在公司的机器装这个东西)

哦,还有一个小问题就是,我的softice窗口出现时,我的鼠标是看不到的,只是鼠标移动的时候,屏幕上有数据变化,还有一些蓝色的诸如COPY的菜单条出现。这是正常的吗?我看过一些帮助,好像是可以用鼠标来选择到那个区的哦~~~~~是不是我的版本问题阿?我的好像是3.25的版本。论坛上有朋友说用4.27版最好,是吗?


实际上差不多,其实我的4.27现在有时也出现这种情况,不过比以前少多了,而且这也没什么大问题
早起早睡 精神百倍
danielxu22
驱动中牛
驱动中牛
  • 注册日期2002-11-22
  • 最后登录2014-03-24
  • 粉丝0
  • 关注1
  • 积分2分
  • 威望18点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-04-09 09:59
你可以到http://www.sysinternals.com下载一个DebugView就可以看到了,或者用DriverWorks里Tools的DriverMonitor
今天我发现我家的金鱼淹死了,:(
ABUABU
驱动小牛
驱动小牛
  • 注册日期2002-12-31
  • 最后登录2005-08-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2003-04-09 11:07
好不容易阿,终于上了论坛了~~~:_) ~~~感谢站长的不懈努力!!!!致敬!!!!

言归正传:)

各位大虾,我用sym看了一下,出现下面的东西:
 ,text(0001:00000000,0000125c byte)
         0001:00000A7F $L11736
         0001:00000A6E $L11739
         0001:00000A7A $L11755
         0001:00000FB9 CleanExit
         0001:00000086 DriverEntry
         0001:00000C87 ERROR
         0001:00000233 ERROR_233
         0001:00000E0D ERROR_e0d
         0001:00000AC8 IoDecrement
         0001:00000AA4 IoIncrement
               ……
我运行的是一个正确的程序,是已经测试过正常的协议驱动。使用的是Checked build;我是在网络邻居那里安装它的,和以前我成功安装它的方法一样,安装过程中也没有任何不正常的现象~~~~

   我莫名阿~~哦,请问大虾,这是怎么回事阿? 

小鸟,扑腾~~扑腾~~扑腾~~
kilroy_guo
驱动大牛
驱动大牛
  • 注册日期2002-10-29
  • 最后登录2005-11-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-04-09 17:58
感谢大家的指导,我周一再试一下~~~(*^-^*,因为和我的另外的软件冲突了,所以只在公司的机器装这个东西)

哦,还有一个小问题就是,我的softice窗口出现时,我的鼠标是看不到的,只是鼠标移动的时候,屏幕上有数据变化,还有一些蓝色的诸如COPY的菜单条出现。这是正常的吗?我看过一些帮助,好像是可以用鼠标来选择到那个区的哦~~~~~是不是我的版本问题阿?我的好像是3.25的版本。论坛上有朋友说用4.27版最好,是吗?



我也碰到好几次,按两下ctrl+d,隐藏再恢复,就没事了
二姑家的猫想......
hcheng_qi
驱动老牛
驱动老牛
  • 注册日期2002-11-07
  • 最后登录2006-04-13
  • 粉丝1
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2003-04-09 18:08
好像应该是先translate后load吧。还有,出现这样的问题有可能是你的windows和softice版本有冲突。我记得我们好像以前用sp2+softice4.26好像是有这样的问题,不过不能肯定。现在我们用sp3+4.27工作良好!
| -''/"',___,,--''"`-,_¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡¡¡ `6_ 6¡¡)¡¡ `-,¡¡(¡¡¡¡),`-.__.`)¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡¡¡ /_Y_./',, _¡¡)¡¡`._¡¡`,``-..-'¡¡¡¡¡¡¡¡¡¡¡¡ ¡¡_.'.`='¡¡ _ / / --'_.','¡¡¡¡¡¡¡¡¡¡¡¡ (il)'¡¡¡¡¡¡(li)''¡¡ ((!-'¡¡¡¡ÃÃÃÃ! ±ðÅÜ£¿!
founderfang
驱动牛犊
驱动牛犊
  • 注册日期2003-02-19
  • 最后登录2008-12-18
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2003-04-10 08:53
SoftICE(Driver suit 2.7)里不是带了一个DriverMonitor的工具吗,DebugPrint的输出应该可以在看得到,我觉得这个工具用起来真是挺方便的。
ABUABU
驱动小牛
驱动小牛
  • 注册日期2002-12-31
  • 最后登录2005-08-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2003-04-11 10:03
我想在帮助文档里应该有所有的信息,大概是我没有很认真吧,呵呵,懒了点阿~~~

大家介绍的软件,我再好好瞧瞧~ :D 

谢谢大家的回答。 

[编辑 -  4/11/03 by  ABUABU]
小鸟,扑腾~~扑腾~~扑腾~~
mailme
驱动老牛
驱动老牛
  • 注册日期2001-05-21
  • 最后登录2010-02-25
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2003-04-12 17:17
呵呵,说了要你把分用在刀刃上,不过还是要谢谢你的分 :cool:
早起早睡 精神百倍
ABUABU
驱动小牛
驱动小牛
  • 注册日期2002-12-31
  • 最后登录2005-08-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2003-04-12 23:36
忘记告诉大家,我的问题我在帮助里找了答案

*****************
mailme,我从你的很多帖子上得到了救命的知识,所以这分是份答谢,感谢你对入门级菜鸟的热心帮助,*^-^*

当然了,其他的朋友我也感激不尽,等有机会了再报答大家,谢谢^0^
小鸟,扑腾~~扑腾~~扑腾~~
游客

返回顶部