Я пытаюсь выполнить некоторые симуляции и математические операции, которые являются высокорекурсивными, и в некоторых крайних случаях я переполняю стек вызовов и получаю сигнал EXC_BAD_ACCESS. Невозможно изменить алгоритмы на итеративную форму, поскольку это много унаследованного кода. И предел глубины рекурсии не будет полезен, потому что использование памяти недетерминировано.
Есть ли способ определить количество доступных стеков, чтобы я мог корректно отменить операцию?
Возможно ли реализовать тип канарейки стека, который я могу постоянно проверять, не переопределяется?