首页
社区
课程
招聘
[旧帖] [求助]驱动开发相关的问题 0.00雪花
发表于: 2013-4-23 12:35 1356

[旧帖] [求助]驱动开发相关的问题 0.00雪花

2013-4-23 12:35
1356
1、为啥我写的驱动发生异常后并不是蓝屏,而是先黑屏然后自动重启,这是为啥?
2、
void* p=ExAllocatePool(PagedPool,10);
if (p)
{
    ExFreePool(p);
__try
{
    KdPrint(("---------------尝试第二次释放,看看是否会引发异常--------------\n"));
    ExFreePool(p);
}
__except(EXCEPTION_EXECUTE_HANDLER)
{
    KdPrint(("-----------------------第二次释放引发了异常--------------------\n"));       
}

}
上面这段代码,为什么即使用try块保护了 ExFreePool(p)函数,为什么仍会发生异常时机器重启?去掉第二条 ExFreePool(p)语句就没问题了

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

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 13
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
为什么 即使 try块保护了仍会引发异常?
2013-4-23 12:38
0
雪    币: 14
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
回楼主:   刚刚测试了下   结果是:蓝屏   

蓝屏dump我还没有分析,但是我查资料查到:
算术异常(除0),页故障和非法指针都不能用异常处理机制处理,它们都算是错误.

你这个例子  应该算是非法指针吧   可能不能用异常处理
2013-4-23 16:20
0
游客
登录 | 注册 方可回帖
返回
//