码迷,mamicode.com
首页 > 其他好文 > 详细

那些年犯过的错

时间:2018-03-07 21:53:49      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:span   默认   问题   除法   大小   style   失败   今天   nbsp   

  今天模拟读写内存函数时,遇到了个很奇葩的问题,添加了新的函数后,驱动居然安装失败,当时我第一反应就是我的函数中使用了XP没有的函数,结果回去重新开的时候,都是些常规的函数,老办法,一分为二排除法,最后发现是这个代码的问题

  PVOID    PoolArea;

  LONGLONG Stack[512];

  PoolArea = ( PVOID )&Stack[0];

  但是这个赋值也只是普通的赋值,而且就算Stack地址处的内存不能访问,也应该是运行中出错,不应该是驱动安装失败啊,然后我尝试调整Stack,将其大小降低,发现驱动居然又安装成功了,后来我去看了VS对这个函数的堆栈保留大小,发现是1M,而我Stack本身就占用了1M,再加上其他的变量,已经超过1M了,原来这才是导致驱动安装失败的原因,既然知道哪里的问题了,接下来就好办了,调整堆栈保留大小为2M  其默认单位是k,需要输入2097152(2048*1024 = 2097152),OK  驱动成功加载了

那些年犯过的错

标签:span   默认   问题   除法   大小   style   失败   今天   nbsp   

原文地址:https://www.cnblogs.com/testvt/p/8524885.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!