阅读:1235回复:8
我的在驱动中设的中断在softice中怎么听不下来
1.我用的是ds 2.6和win2000,我按照步骤装了驱动,设了断点,softice 用的是boot 方式的,可是在系统重启时,softice 也是对得,可是在softice 看不到我驱动的源代码,我也不知道是不是停在了我驱动的断点处?
2.在断点处停不下来,而且我的程序什么都没做,可是在收到一个中断后却在softice 中停下来提示break due to page fault(0Eh),fault=0000,这是什么错误亚?能给讲讲么? |
|
沙发#
发布于:2004-04-10 20:34
1 你用table命令查看一下,是否装载了你驱动的table;再用sym命令查看一下符号。至于源代码,用file *看看是否装载了源代码文件,否则,是看不到的。
2 很可能是你的代码没有设置PAGE_CODE(),使得代码快被系统分页调度至硬盘,再次需要执行时,引起缺页中断,然后crash |
|
板凳#
发布于:2004-04-12 20:04
visualmind兄,你说的PAGE_CODE(),是怎么回事,能解释一下吗?
这些天在调驱动,不是很稳定,一直不明白是怎么回事,不知道是不是与你所说的PAGE_CODE()有关,谢谢 |
|
地板#
发布于:2004-04-13 20:38
#if DBG
#define PAGED_CODE() \\ if (KeGetCurrentIrql() > APC_LEVEL) { \\ KdPrint(( \"EX: Pageable code called at IRQL %d\\n\", KeGetCurrentIrql() )); \\ ASSERT(FALSE); \\ } #else #define PAGED_CODE() #endif PAGED_CODE()不是“很可能是你的代码没有设置PAGE_CODE(),使得代码快被系统分页调度至硬盘,再次需要执行时,引起缺页中断,然后crash”,而是检查是否运行在passive_level |
|
地下室#
发布于:2004-04-13 20:41
1.我用的是ds 2.6和win2000,我按照步骤装了驱动,设了断点,softice 用的是boot 方式的,可是在系统重启时,softice 也是对得,可是在softice 看不到我驱动的源代码,我也不知道是不是停在了我驱动的断点处? 1、要run到你的驱动代码处才有可能看到源代码。 2、这个估计是出错了蓝屏前先被softice拦截了,有可能就是你的驱动的错。 建议搜索一下,找softice的使用说明(有中文的)看看。 |
|
5楼#
发布于:2004-04-14 10:44
#if DBG 请问arthurtu兄,怎么样才能保证自己的代码不被系统交换到硬盘中呢? [编辑 - 4/14/04 by flying] |
|
6楼#
发布于:2004-04-14 13:07
放到不可分页内存中
|
|
|
7楼#
发布于:2004-04-16 08:50
驱动程序是由OS管理的,那怎么样才能保证自己的驱动是被OS放在不可分页内存中呢?
|
|
8楼#
发布于:2004-07-19 19:34
我遇到一个类似的问题:
可以用FIlE 打开文件源代码,但在进入断点后却只能看到汇编,请问高手该如何才能看到源代码? |
|