KungFu
驱动大牛
驱动大牛
  • 注册日期2001-09-27
  • 最后登录2008-04-08
  • 粉丝0
  • 关注0
  • 积分221分
  • 威望24点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
阅读:1137回复:6

第二次调用初始化变量会死机?

楼主#
更多 发布于:2002-01-29 16:23
一个小问题:递归调用的时候,第二次进入函数的时候,初始化变量的时候死机。我发现初始化PDEVICE_EXTENSION devxs = PDEVICE_EXTENSION (fdo->DeviceExtension);这个变量时候死机的。怎么解决?f


[编辑 -  1/30/02 作者: KungFu]
我不写驱动好多年
blue
驱动大牛
驱动大牛
  • 注册日期2001-04-25
  • 最后登录2010-10-15
  • 粉丝0
  • 关注0
  • 积分55分
  • 威望12点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-01-30 10:13
初始化,怎样进行初始化的?能否将代码贴出来看看。
另外,为什么要用递归,不建议你使用递归,不可以用循环吗?
我怀疑是重入的问题,第一次调用的某些资源没有释放,你就第二次又使用,结果...。
KungFu
驱动大牛
驱动大牛
  • 注册日期2001-09-27
  • 最后登录2008-04-08
  • 粉丝0
  • 关注0
  • 积分221分
  • 威望24点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-01-30 12:55
fdo是设备的fdo,devxs存放设备扩展。

GetResult(PDEVICE_OBJECT fdo,PIRP Irp)
{
start:
...
PDEVICE_EXTENSION devxs = PDEVICE_EXTENSION (fdo->DeviceExtension);//第二次执行就死机???
....
if(true)//条件是我自己设定的,目的是执行两次。
goto start;
}
我不写驱动好多年
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-01-30 14:21
你省略的也太厉害了吧!看你的这么一点代码我看不出什么错误!
WindThruEars
驱动老牛
驱动老牛
  • 注册日期2002-11-17
  • 最后登录2004-07-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-01-31 10:50
Heihei, who can know the reason from your simple code, maybe your stack overflow... kernel stack size is very small, only about 12K, just as warned by sb. long time ago, avoid recursive in your driver, it\'s not a place for scientific caculation.
我是假耳朵
KungFu
驱动大牛
驱动大牛
  • 注册日期2001-09-27
  • 最后登录2008-04-08
  • 粉丝0
  • 关注0
  • 积分221分
  • 威望24点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-01-31 11:34
But the same function can run in NT os perfectly!!!
why?
Doesn\'t os windows2000 build on windows NT?
我不写驱动好多年
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-01-31 19:42
如果你不把相关部分的代码贴出来,那么,这代码没有问题,除非传进来的参数是错误的!
游客

返回顶部