Pergunta

Estou alocando um pequeno número de tipos de dados, tamanho total de 2 MB.

Eu só uso uma pilha e ela funciona bem até chegar a um certo número de alocações, tenho certeza disso porque comentei uma alocação para travar na próxima.

Quota = espaço em disco? A documentação não abrange códigos de erro para essa função específica, eu perfilava o aplicativo e há muita memória alocada sem memória para o processo. Também coloquei um ponto de interrupção de dados no ponteiro da pilha e ele não quebra. O ponteiro da pilha está bem quando eu passo, até a minha chamada para o Heapalloc.

Tão estranho..

Foi útil?

Solução

Tente alocar um grande pedaço de memória (ou seja, 2MB) até obter o erro para determinar se o problema é o número de objetos ou heap total. Além disso, tem certeza de que não está alocando mais de 2 MB de memória? Vi esse erro quando o limite de 2 GB é atingido, mas nunca em 2 MB, a menos que seu arquivo de página esteja cheio.

Se tudo mais falhar, reinicie ou experimente uma máquina diferente.

Outras dicas

De acordo com esses valores em Winnt.h Código de exceção C0000017 mapeia para STATUS_NO_MEMORY qual é uma das exceções que Heapalloc vai jogar. Então você está fora da memória ou transborda de um de seus buffers alocados e corrompeu a pilha.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top