阅读:2614回复:12
怎样用SoftICE来调试.sys驱动
Hi,
请教各位几个关于SOFTICE调试的问题。 第一,如果我想调试我的SYS文件,一定要将SYS装上么? 第二,要调试SYS文件,一定要用fre或者Debug等其他的调试SYS?不能用realse版本的SYS? 第三,我是这样调试我的SYS的。 首先生成一个SYS文件,这个文件是RELEASE版本的, 1、打开Soft-ICE中的“Symbol Loader”工具。 2、用“File” 菜单中的“Open Module ...”菜单项打开调试符号文件(文 件类型是“Symbol File”)。 3、用“Module”菜单中的“Translate”菜单项将SYM文件转换成Soft-ICE的 NMS调试符号文件。 4、用“Module”菜单中的“Load”菜单项装载调试符号文件。 5、按Ctrl+D组合键激活Soft-ICE,然后输入file ,显示我的文件是myddk.c 6 .输入file myddk.c 能看到 .C文件的源码 7 然后再输入BPX kbfilter_adddevcie(kbfilter_adddevcie为源代码中的一个函数) 但是始终看不到断点跳到源代码中的 kbfilter_adddevcie处。不知道是为什么的,还请各位赐教的。 Thanks |
|
沙发#
发布于:2007-06-12 19:04
对了,有这样的情况的,我输入bpx kbfilter_adddevice后在SOFTICE的代码区可以看到一个绿色的光标,
我怀疑可能运行到这里了,但是我用F10来单步执行的时候就显示的是汇编的代码,不是我自己的代码的,我怀疑是没加载源代码的,但是又不知道如何加载的,还请走过路过的朋友们指点一下啊。 |
|
板凳#
发布于:2007-06-12 19:48
我也是刚接触USB驱动程序调试,好象驱动程序运行后才能到达你设置的断点处
|
|
地板#
发布于:2007-06-13 10:49
Hi zchong ,
你的意思是说要先用INF装上SYS后才可以调试? |
|
地下室#
发布于:2007-06-13 11:46
用户被禁言,该主题自动屏蔽! |
|
5楼#
发布于:2007-06-13 13:52
是这样的
|
|
6楼#
发布于:2007-06-13 16:28
要调试SYS文件,一定要用fre或者Debug等其他的调试SYS?不能用realse版本的SYS?
|
|
7楼#
发布于:2007-06-13 16:29
要调试SYS文件,一定要用fre或者Debug等其他的调试SYS?不能用realse版本的SYS?
|
|
8楼#
发布于:2007-06-13 18:39
在安装完driverstudio后,好像有个文件叫help
当然要用debug版本,可以设置断点并跟踪调试,如果你足够强,可以考虑用release版本调试 |
|
9楼#
发布于:2007-06-14 10:18
我是这样调试我的SYS的。
首先生成一个SYS文件,这个文件是Debug版本的, 1、打开Soft-ICE中的“Symbol Loader”工具。 2、用“File” 菜单中的“Open Module ...”菜单项打开调试符号文件(文 件类型是“Symbol File”)。 3、用“Module”菜单中的“Translate”菜单项将SYM文件转换成Soft-ICE的 NMS调试符号文件。 4、用“Module”菜单中的“Load”菜单项装载调试符号文件。 5、按Ctrl+D组合键激活Soft-ICE,然后输入file ,显示我的文件是myddk.c 6 .输入file myddk.c 能看到 .C文件的源码 7 然后再输入BPX driverentry(driverentry为源代码中的入口函数) 我在SOFTICE的源代码区可以看到一个蓝色的光标的,然后就按F10进行单步调试。此时在SOFTICE的源代码区显示的是汇编语言的,不知道是为什么的,还请各位指点指点的拉。 Thanks. |
|
10楼#
发布于:2007-06-14 13:27
对了,那个蓝色的光标应该类似VC中用F9插入的调试断点。
然后我用F10来执行的时候怎么就是不能进入源代码中来调试? |
|
11楼#
发布于:2007-06-17 18:36
走过路过的高手们来点指点拉.呵呵
|
|
12楼#
发布于:2007-07-16 23:09
不知楼主是用什么软件开发的驱动?
是完全用的DDK,还是DriverStudio+DDK,我下面说的是在DriverStudio+DDK下用softICE调驱动。要调试驱动,首先都是要把驱动装上才可以调的,再用你上面的步骤,在第六步中file ×××.cpp文件,在其中设置断点,推出softICE,运行用户模式下的应用程序,softICE就会弹出来,运行到你设置的断点。 |
|