У меня есть приложение C# WinForm, которое я запускаю с режимом x86. Он отлично работает с режимом x86. проблема возникает, когда я запускаю это приложение в любом режиме процессора. Я получаю ниже упомянутой ошибки:StackOverflowException даже после увеличения размера стека
An unhandled exception of type 'System.StackOverflowException' occurred in XXXXXX.dll
Я знаю, что это может быть вызвано бесконечными петлями, а что нет, но та же ошибка должна происходить в режиме x86 в этом случае. Я знаю, что это происходит не из-за бесконечных итераций. Это как-то связано с переполнением стека.
После выполнения некоторых исследований я увеличил размер стека с Editbin
из
Editbin.exe /Stack:14000000 "$(TargetDir)MyProject.exe"
в
Editbin.exe /Stack:14000000 "$(TargetDir)MyProject.exe"
Любая идея, что может быть причиной и какие направления я должен идти к ?
Является 'XXXXXX.dll' вашей dll или ссылкой? – Guvante
Вы должны отладить проблему, а не пытаться ее исправить. В частности, посмотрите на этот код и проследите его, чтобы увидеть, что на самом деле происходит. Исправить что-то, просто увеличив размер стека, как правило, плохая идея. Причиной ошибки переполнения стека является либо очень глубокая рекурсия, либо она уходит в бесконечность. – NotMe
Как выглядит трассировка стека исключений? – AaronLS