hust_wu
驱动牛犊
驱动牛犊
  • 注册日期2003-10-10
  • 最后登录2003-11-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1231回复:4

请胡老大,gjp等各位老大进来看看

楼主#
更多 发布于:2003-10-16 16:15
我现在调试passthru用的softice,每次程序出错总是要先到安全模式下把passthru.sys替换成原来没有错误的版本,然后重新启动机器对程序进行修改。完了之后再次把新版本passthru.sys拷到drivers目录下,再重启机器,对其进行调试。这样反复的重启机器不仅浪费时间对机器也有不好的影响。请问调试驱动程序有没有更好的办法?给个提示或是思路吧,再这样折腾下去机器又要重装了。拜托一定给点建议。
每一天都应该在进步
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-10-16 19:11
一般来说双系统比进安全模式好。
系统A出问题,进系统B,修改,编译COPY到DRIVER下。
重起。
比进安全模式快多了
放弃瘟草,现吃李草
SharpShooter
驱动小牛
驱动小牛
  • 注册日期2002-04-07
  • 最后登录2013-07-05
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-10-17 09:12
这个办法不错,不错,比进安全模式是要快点.

不过hust_wu哥们的做法比较奇怪,修改程序为什么就不能在安全模式下?非要再回到正常模式修改?这么搞下去别人重起2两次你就得重起4次.
写驱动不如买足彩!!
hust_wu
驱动牛犊
驱动牛犊
  • 注册日期2003-10-10
  • 最后登录2003-11-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-10-18 09:05
谢谢两位的提示,为了表示诚意马上给分,不过要少点,每人五分。,还要再次向SharpShooter表示感谢,谢谢你上次能在百忙之中抽出时间回复邮件。按照你上次在邮件中说的,我加了一个DriverEntry,程序是编译成功了,在注册表中加了你说的一些选项,重启之后用net start 启动那项服务说服务已经启动,但程序中的一些Debug信息看不到,而且在softice中也抓不到我自己加的函数的断点。估计是没有成功启动。
无奈之下只好用passthru了。我现在可抓到所有的包。问题又来了,我需要知道本机的MAC地址,在论坛中搜了一把,知道了个大概。主要是用NdisRequest,我没有分配内存,而是用了一个局部变量来保存MAC地址,根据返回的信息,NdisRequest返回的状态并不是NDIS_STATUS_SUCCESS,而且运行一个不确定的时间后会出现页面错误,用softice显示引起错误的一句是
PtRequestComplete函数中的*pAdapt->BytesNeeded = NdisRequest->DATA.QUERY_INFORMATION.BytesNeeded;一句。只有自己慢慢再看是为什么出错了。
最恼人的是,我的SOFTICE设置成boot的启动方式后会抓到下面的错误(并不是我的驱动造成的):unhandled kernel mode exception
Break due to keBugCheckEx。设置成Manual方式启动一切正常,几位老大能不能支支招?
每一天都应该在进步
antspower
驱动中牛
驱动中牛
  • 注册日期2002-10-17
  • 最后登录2010-08-03
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值2点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-10-18 09:57
在ptrequestcomplete里拦截你的REQUEST,可以得到你要的MAC
放弃瘟草,现吃李草
游客

返回顶部