windows底层的内存分配函数一共有几种?
C/C++本地代码调试
windows底层的内存分配函数一共有几种?
chena_cpp
2015-10-29, 12:44 下午
我知道的就HeapAlloc,GlobalAlloc,LocalAlloc,VirtualAlloc,VirtualAllocEx。
前面3个分配的都是属于堆的。
我现在在调试一个内存异常的程序,具体表现是使用某个特定版本的gpu驱动导致内存多了800M,换一个驱动内存正常了。
我想看看这800M内存到底哪里分配的。
我用NtQueryVirtualMemory遍历之后发现这800M不属于Heap,是private data(vmmap的分法),我看文档说这部分应该是
直接用VirtualAlloc或者VirtualAllocEx分配的,但是我hook了这两个函数,发现不是,没有这么多内存通过这两个函数分配。
多出来的这800M内存的地址我看了,从10020000-84840000都有,都是几M-十几M的,我程序是64位的。
怎么样才能知道这800M内存到底哪里分配的?
谢谢。