请教一个关于内存的问题
Windows内核调试
请教一个关于内存的问题
forxy
2010-07-27, 12:47 下午
在windows驱动中(网络中间层驱动):
1.全局的变量数组会被换页吗?
2.遇到蓝屏错误,通过分析dump文件,原因为访问了一个内存(全局数组中一个元素的链表首地址);但是windbg给出的原因有2个,一个原因是地址不合法,一个原因是高中断级别(2),访问了被换出的内存
我用 db xxxx(地址),全部显示???
请问,分析dump是否可以知道我的那个内存到底是被换出了,还是那个地址不合法。
这个蓝屏错误也不是一直都有,网络通信进行一会之后就会蓝屏。
http://forxy.download.csdn.net/
Re: 请教一个关于内存的问题
forxy
2010-07-28, 18:41 下午
已经解决。访问了一个已经释放的内存。
大致方法如下:
重新写一个内存分配和释放的函数,然后做记录。
分配一个内存,进行记录
释放一个,删除该记录;
源码中,在访问那个内存前,先查找记录,看该内存是否被释放了。
http://forxy.download.csdn.net/
Re: 请教一个关于内存的问题
王宇
2010-07-28, 22:31 下午
开驱动校验可以很轻易的定位这类问题,甚至可以定位到分配这块内存的地址。
Re: 请教一个关于内存的问题
Thomson
2010-07-29, 18:50 下午
第一个问题呢?
Re: 请教一个关于内存的问题
王宇
2010-07-29, 20:06 下午
我以为 LZ 找到了蓝屏的原因就自然明白了问题一的答案是否定的。除非某些数据是在 INIT SEGMENT 里。
Re: 请教一个关于内存的问题
forxy
2010-07-30, 00:48 上午
多谢回帖!
顺便问问,验证器是不是就是装载驱动;执行下verifier;重启,然后测试?
我用debugView能看到verifier好像起作用了;
还有其他的用法吗?
比如给我个警告和日志什么的?
http://forxy.download.csdn.net/