Pergunta

Com a StackOverflowException são as condições para ser jogado hardcoded ou dependente da máquina o código está sendo executado em?

Estou quase certo o último, mas falharam em minhas pesquisas e não faça perguntas suficientes aqui.

Foi útil?

Solução

A partir a documentação :

... é lançada quando a pilha de execução excede porque ele contém muitas chamadas de método aninhada.

Uma vez que o tamanho da pilha é dependente de arquitetura e pode até ser substituído em uma máquina, sim, este valor não é codificado, embora seja geralmente bastante estática no Windows. Se bem me lembro, é 1 MB de tamanho por padrão.

Outras dicas

Apesar de não ser uma combinação perfeita para a sua pergunta, veja também:

Como você muda o tamanho padrão pilha para conseguiu executable.net

quadros de pilha irá variar dependendo do modo de endereçamento do seu sistema operacional. Acredito x64 usos ligeiramente quadros de pilha maiores. Tenha em mente que o espaço de processo é capaz de crescer muito mais do que em x86, de modo geral, você deve ser capaz de configurar sua pilha para aceitar mais quadros em x64, se RAM e tamanho do arquivo de swap não são um problema.

scroll top