У меня просто закончился стек на работе, это была база данных, и в ней выполнялись некоторые потоки, в основном предыдущий разработчик бросил в стек большой массив, и стек все равно был низким. Программное обеспечение было скомпилировано с использованием Microsoft Visual Studio 2015.
Несмотря на то, что поток закончился из стека, он молча отказал и продолжил работу, он переполнялся только тогда, когда дошел до доступа к содержимому данных в стеке.
Лучший совет, который я могу дать, - не объявлять массивы в стеке - особенно в сложных приложениях и особенно в потоках, вместо этого используйте кучу. Вот для чего он нужен;)
Также помните, что при объявлении стека он может выйти из строя не сразу, а только при доступе. Я предполагаю, что компилятор объявляет стек под окнами «оптимистично», то есть он будет предполагать, что стек был объявлен и имеет достаточный размер, пока он не дойдет до его использования, а затем обнаружит, что стека там нет.
В разных операционных системах могут быть разные политики объявления стека. Пожалуйста, оставьте комментарий, если вы знаете, что это за политика.