首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HeapAlloc返回0xC0000017:配额不足

HeapAlloc返回0xC0000017:配额不足
EN

Stack Overflow用户
提问于 2010-01-22 11:07:35
回答 2查看 4.6K关注 0票数 3

我分配了少量的数据类型,总大小为2mb。

我只使用一个堆,它运行得很好,直到我达到一定数量的分配,我非常确定这一点,因为我已经注释了一个分配,让它在下一个分配中崩溃。

配额=磁盘空间?文档没有介绍这个特定函数的错误代码,我已经对应用程序进行了分析,并且为该进程分配了大量可用内存。另外,我在堆指针上设置了一个数据断点,它不会中断。当我单步执行时,堆指针是正常的,直到我调用HeapAlloc。

真奇怪..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-22 11:16:23

尝试分配较大的内存块(即>2MB),直到出现错误,以确定问题是对象数量还是堆总量。另外,你确定你分配的内存没有超过2mb吗?当达到2 2gb的限制时,我见过这个错误,但在2mb时从未出现过错误,除非您的页面文件已满。

如果其他方法都失败了,请重新启动或在另一台计算机上尝试。

票数 2
EN

Stack Overflow用户

发布于 2010-01-22 11:40:22

根据WinNt.h异常代码中的值,C0000017映射到STATUS_NO_MEMORY,这是HeapAlloc将抛出的异常之一。所以你要么内存不足,要么你已经溢出了你的一个分配的缓冲区,损坏了堆。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2114694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档