У мене просто не вистачало стека в роботі, це була база даних, і вона працювала з деякими потоками, в основному попередній розробник кинув великий масив на стек, а стек все одно був низьким. Програмне забезпечення було складено за допомогою Microsoft Visual Studio 2015.
Незважаючи на те, що в потоці закінчився стек, він мовчки провалився і продовжував роботу, стек переповнювався лише тоді, коли з'явився доступ до вмісту даних в стеку.
Найкраща порада, яку я можу дати, - це не оголошувати масиви на стеку - особливо у складних програмах і особливо в потоках, а не купувати. Ось для чого це;)
Також пам’ятайте, що він може не вийти з ладу відразу при оголошенні стека, а лише під час доступу. Я здогадуюсь, що компілятор оголошує стек під Windows "оптимістично", тобто буде вважати, що стек був оголошений і має достатній розмір, поки не прийде його використовувати, а потім з’ясує, що стека немає.
У різних операційних системах можуть бути різні політики декларування стека. Залиште коментар, якщо ви знаєте, що таке політика.