我分配了少量的数据类型,总大小为2mb。
我只使用一个堆,它运行得很好,直到我达到一定数量的分配,我非常确定这一点,因为我已经注释了一个分配,让它在下一个分配中崩溃。
配额=磁盘空间?文档没有介绍这个特定函数的错误代码,我已经对应用程序进行了分析,并且为该进程分配了大量可用内存。另外,我在堆指针上设置了一个数据断点,它不会中断。当我单步执行时,堆指针是正常的,直到我调用HeapAlloc。
真奇怪..。
发布于 2010-01-22 11:16:23
尝试分配较大的内存块(即>2MB),直到出现错误,以确定问题是对象数量还是堆总量。另外,你确定你分配的内存没有超过2mb吗?当达到2 2gb的限制时,我见过这个错误,但在2mb时从未出现过错误,除非您的页面文件已满。
如果其他方法都失败了,请重新启动或在另一台计算机上尝试。
发布于 2010-01-22 11:40:22
根据WinNt.h异常代码中的值,C0000017映射到STATUS_NO_MEMORY,这是HeapAlloc将抛出的异常之一。所以你要么内存不足,要么你已经溢出了你的一个分配的缓冲区,损坏了堆。
https://stackoverflow.com/questions/2114694
复制相似问题