首页
社区
课程
招聘
[问]驱动诡异蓝屏
发表于: 2011-7-9 16:16 5746

[问]驱动诡异蓝屏

2011-7-9 16:16
5746
蓝屏代码
0x00000050
PAGE_FAULT_IN_NONPAGED_AREA



驱动中有两个文件
code.h、code.cpp

由于CPP需要前向声明,又想把DriverEntry写在代码最前面,故将DriverUnload之类的声明在code.h中,函数体则在DriverEntry后实现,编译通过,一切正常.

驱动加载成功,可是一调用或者卸载就一片伤心的蓝色天空了...

想来想去也只能是这句搞的鬼,它写在DriverEntry前面.
#pragma code_seg("INIT")
难道在它之后的所有函数都受影响?

求解,谢之.

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 952
活跃值: (1821)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
是的 如果你写的驱动不大的话 一般用不着写
#pragma code_seg("INIT") 这句 来省几K内存
2011-7-9 16:32
0
雪    币: 244
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
挂上WINDBG 看看。
2011-7-9 17:11
0
雪    币: 193
活跃值: (64)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
#pragma code_seg("INIT")
一般用在入口点处
知道遇到下一个#pragma 为止便结束
你不是就用这个一个吧?
2011-7-9 17:41
0
雪    币: 1149
活跃值: (888)
能力值: ( LV13,RANK:260 )
在线值:
发帖
回帖
粉丝
5
#pragma code_seg("INIT")
去掉
或者加上 #pragma code_seg()        ...
2011-7-9 18:23
0
雪    币: 878
活跃值: (496)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
谢谢各位!

2011-7-9 19:16
0
游客
登录 | 注册 方可回帖
返回
//