Re: 请教一个关于内存的问题

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/

Powered by Community Server Powered by CnForums.Net