aqua_aqua
驱动牛犊
驱动牛犊
  • 注册日期2005-01-16
  • 最后登录2005-09-15
  • 粉丝0
  • 关注0
  • 积分48分
  • 威望9点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2090回复:9

为什么SOFTICE无法断下虚拟打印机驱动程序??

楼主#
更多 发布于:2005-02-18 16:29
为什么SOFTICE无法断下虚拟打印机驱动程序??
虚拟打印机驱动是从本论坛terrificskyfox所提供的W2kPrintDrvSample,已经安装并可正常运行打印,其驱动程序是两个DLL文件一个GPD文件,没有SYS文件。所以在SOFTICE中只能打开DLL文件。
我的本意只是想练习一下驱动程序的调试。

1. 启动Symoble Loader程序,File / Open Module打开UNI.dll
2. Module / Load 生成并加载符号表,中间由于无法定位到crtdllc文件,所以跳过了它
此时在Symbol Loader中出现了如下信息
=========================
C:\WINNT\system32\spool\drivers\w32x86\3\UNI.DLL opened successfully
Translating C:\WINNT\system32\spool\drivers\w32x86\3\UNI.DLL . . .
Translation of C:\WINNT\system32\spool\drivers\w32x86\3\UNI.DLL successfully completed
Loading symbols for C:\WINNT\system32\spool\drivers\w32x86\3\UNI.DLL  . .
Symbols for C:\WINNT\system32\spool\drivers\w32x86\3\UNI.DLL successfully loaded

3. 启动SOFTICE,CTrl_D唤醒其界面。
4. 键入table命令,可以看到UNI [NM3]等字样。确定已经加载了符号表。
5. 键入file * ,可以看到相关源文件,键入file enable.cpp打开其中的enable.cpp文件,
6. 按F6切换光标到源码窗口中,找到OEMStartDoc函数,按下F9,设置断点。
7. 按Ctrl_D,隐藏SOFTICE窗口,
8. 运行调用了此驱动的调试程序,<BR>但是Softice并没有在断点处弹出,这是为什么?</BR>我看了很多的帖子也没有找到为什么?请高手帮忙。

W2kPrintDrvSample可以在下面的链接中获得:
http://www.driverdevelop.com/forum/viewthread.php?tid=58415
我的平台是W2K server + 2K DDK + SoftICE 4.05


[编辑 -  2/18/05 by  aqua_aqua]

[编辑 -  2/18/05 by  aqua_aqua]
MSN:aqua_aqua@21cn.com
ryoga
驱动小牛
驱动小牛
  • 注册日期2005-01-13
  • 最后登录2006-09-22
  • 粉丝0
  • 关注0
  • 积分824分
  • 威望84点
  • 贡献值0点
  • 好评度81点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-02-18 16:51
肯定是没有执行这个函数的了,就是说调用失败,否则一定会弹出的,应该是这样的吧~
小生我没钱,小生我是穷人...挥剑问情...
aqua_aqua
驱动牛犊
驱动牛犊
  • 注册日期2005-01-16
  • 最后登录2005-09-15
  • 粉丝0
  • 关注0
  • 积分48分
  • 威望9点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-02-18 16:56
肯定是没有执行这个函数的了,就是说调用失败,否则一定会弹出的,应该是这样的吧~


通过SOFTICE 的窗口,可以看到(程序中有OutputDebugStringA),这个函数已经被执行了。
并且驱动程序一直可下执行很正常,没有任何错误出现。

[编辑 -  2/18/05 by  aqua_aqua]
MSN:aqua_aqua@21cn.com
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-02-19 10:11
也许是符号表与可执行程序不匹配,可以用在相同位置的内存断点试试,如直接下bpx 8:xxxxxxxx
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
地下室#
发布于:2005-02-19 10:58
我测试了下,完全没问题,SOFTICE可以正常弹出的.
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
snowStart
驱动老牛
驱动老牛
  • 注册日期2004-04-06
  • 最后登录2011-06-02
  • 粉丝0
  • 关注0
  • 积分95分
  • 威望19点
  • 贡献值177点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-02-19 13:00
是没有问题的,你已经用SoftICE4.05了?我的还是3.1呢
学习,关注,交流中... [email=fengyu@163.com]Email:snowstarth@163.com[/email] [url]http://bbs.zndev.com/?a=snowStart[/url]
aqua_aqua
驱动牛犊
驱动牛犊
  • 注册日期2005-01-16
  • 最后登录2005-09-15
  • 粉丝0
  • 关注0
  • 积分48分
  • 威望9点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-02-19 13:48
请问wowocock和snaoStart两位高手,那我前面所列出的操作步骤是否正确????
MSN:aqua_aqua@21cn.com
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
7楼#
发布于:2005-02-19 21:48
请问wowocock和snaoStart两位高手,那我前面所列出的操作步骤是否正确????

没问题,我就是按你的步骤做的.....
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
terrificskyfox
驱动小牛
驱动小牛
  • 注册日期2003-03-12
  • 最后登录2014-04-28
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望11点
  • 贡献值1点
  • 好评度10点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-02-20 11:49
记得应该是没有问题的,当时我跟踪过
试一下set breakinsharedmods on
aqua_aqua
驱动牛犊
驱动牛犊
  • 注册日期2005-01-16
  • 最后登录2005-09-15
  • 粉丝0
  • 关注0
  • 积分48分
  • 威望9点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2005-02-21 10:48
谢谢各位高手的帮助!!!!!!!

我在2k server下安装DS3.2后就可以断下来了,不知道为什么??唉,先这么着吧,

[编辑 -  2/21/05 by  aqua_aqua]
MSN:aqua_aqua@21cn.com
游客

返回顶部