bwwss
驱动牛犊
驱动牛犊
  • 注册日期2001-03-26
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:8654回复:21

SOFTICE怎么调试WDM驱动程序?

楼主#
更多 发布于:2001-04-05 08:55
希望用过的大虾们给了说明。谢了!

最新喜欢:

pchyopchyo liuyan4794liuyan... nicosternicost...
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2001-04-05 09:00
如果你用vc+DriverStudio的话,编译完后就会生成.sys文件和调试符号文件,仿照vxd的调试就行了.
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
bwwss
驱动牛犊
驱动牛犊
  • 注册日期2001-03-26
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-04-05 10:09
我调试DDK的例子程序应该怎么作呢?没有符号文件啊!
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
地板#
发布于:2001-04-05 10:12
应该可以生成调试信息的,然后用m$的工具转换,具体的记不得了.
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-04-06 13:31
Use nmsym.exe to convert  the .sys to the .nms
Another way, create a simple driver project with DriverWork and copy the command line in the Project->Settings...->Post-build Step in VC IDE to your own driver project. There is a command which can convert the .sys to .nms after you build your current project.
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
writer
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2007-12-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-04-06 14:38
我用vc+DriverStudio编译完后生成了.sys文件和调试符号文件,然后启动了symbol loader,open the driver module.在softice initialization settings中设置了pre load = *.nms,最后,reboot,可是什仫也没有发生,下一步我该怎样做?
zhenjun
驱动牛犊
驱动牛犊
  • 注册日期2001-03-26
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2001-04-06 16:22
1。执行SYMBOL LOADER
2。OPEN MODULE(选择你的。SYS文件),TRANSLATE,LOADER。J在工具栏上的前3个图标。
3。CTRL D,此时应弹出SOFTICE 界面。如果没有,从开始菜单里
START SOFTICE。
4。用FILE(YOUR FILE NAME) 命令,你的原代码文件出来了。
5。可用F9设断点,类似VC,
6,。。。。。。其他的看使用手册吧。
无心化语
禁止发言
禁止发言
  • 注册日期2001-03-23
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分-103分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2001-04-06 18:38
用户被禁言,该主题自动屏蔽!
argan
驱动牛犊
驱动牛犊
  • 注册日期2001-03-26
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2001-04-24 23:45
FILE(YOUR FILE NAME)
file name 该是什么呢,能不能说详细一点
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2001-04-25 11:07
Example:
file MyDevice.cpp
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
cxf
cxf
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录2002-02-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2001-05-08 21:23
我有一篇心得在<A HREF="http://www.driverdevelop.com/forum/showthread.php?threadid=155">这里</A>,也许能够帮助你,也请高手指正。
Henry
驱动牛犊
驱动牛犊
  • 注册日期2001-04-27
  • 最后登录2011-06-20
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望27点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2001-05-09 11:14
如何用SoftIce95对驱动程序进行源代码级调试
1. 调入Symbol Loader。
2. 选择File\Open Module,打开.Sym文件。
3. 选择File\Open Module,打开.Sys文件。
4. 选择Module\Translate。
5. 选择正确的源程序路径。
6. 选择Edit\SoftICE Initialization Settings…
7. 选择Symbol标签。
8. 单击Add。
9. 选择正确的.Nms文件。
10. 选择General标签。
11. 在Initialization String中输入开机时所要执行的命令。
12. 关闭Symbol Loader。
13. 重新启动计算机。
14. 进入SoftIce,键入Sym即可看到你在程序中定义的函数名。
15. 在测试程序会调用的过程上下一个断点,再运行测试程序就可对驱动程序进行源代码级调试了。
16. Src指令用于在源代码/混合码/汇编代码之间切换。
17. WL指令用于显示/关闭局部变量窗口。
驱动人生。
Henry
驱动牛犊
驱动牛犊
  • 注册日期2001-04-27
  • 最后登录2011-06-20
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望27点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2001-05-09 15:44
其实,Load一个.sys是系统的事,SoftIce并不调入.sys,它只是将
.sys和.sym一起进行Translation生成.NMS文件。你也可在SymbolLoader的Moudle菜单中选中Load,
即可将最新Translate生成的.NMS文件调入。如果要卸载.NMS,
可以在Edit菜单中选择Symbol Table, 之后会出来一个对话框,
里面会列所有调入的Tables, 选中某一个之后点击Remove就可
将它卸载掉。
BTW:我写的几点是,重启计算机是为了停在DriverEntry断点,
有那位仁兄能告诉我不用重启计算机就可以的方法?
驱动人生。
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2001-05-09 21:44
很多WDM的driver包括USB的driver都不用重新启动。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
14楼#
发布于:2001-05-15 19:27
好象M$有个工具的,记不得了,请rayyang2000来说吧,他记得。如果是driverstudio的话可以自己生成的。
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
petz
禁止发言
禁止发言
  • 注册日期2001-03-23
  • 最后登录2015-12-19
  • 粉丝0
  • 关注0
  • 积分-22276分
  • 威望15点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2001-05-15 21:32
用户被禁言,该主题自动屏蔽!
Henry
驱动牛犊
驱动牛犊
  • 注册日期2001-04-27
  • 最后登录2011-06-20
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望27点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2001-05-17 17:16
[QUOTE]原本由 LitteSW 发表
[B]请问用SOFICE能否同时加载两个驱动程序的符号表进行调试??? [/B][/QUOTE]

可以,在SymbolLoader中把两个NMS都调入即可。
驱动人生。
Henry
驱动牛犊
驱动牛犊
  • 注册日期2001-04-27
  • 最后登录2011-06-20
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望27点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2001-05-18 08:55
[QUOTE]原本由 LitteSW 发表
[B]我用FILE命令查看怎么只有一个驱动程序的源码? [/B][/QUOTE]

使用TABLE命令即可在两个Symbol Table之间切换。然后可以在函数中下断点。
驱动人生。
azure
驱动牛犊
驱动牛犊
  • 注册日期2001-03-29
  • 最后登录2007-03-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2001-05-19 20:58
如果不涉及硬件资源的改动,WDM是可以动态加载的。因此无需重新启动就可以停在DriverEntry上。具体方法如下:
首先进入SoftICE,设置断点
然后在设备管理器中选中相关硬件
选择升级驱动程序,按提示进行。

系统会先卸载原驱动程序,然后重新从DriverEntry开始启动驱动程序。以前我也是一次一次地重启,太累了。
zhenjun
驱动牛犊
驱动牛犊
  • 注册日期2001-03-26
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2001-05-20 15:22
如果UNLOAD的处理不彻底,则驱动程序可能不从内存中卸载,或BUGCHECK。
上一页
游客

返回顶部