Все стеки могут быть заполнены при запуске с определенным шестнадцатеричным значением (например, 0xAAAAAAAA). И затем, используя специальную подпрограмму, вы можете периодически отслеживать максимальное использование всего стека, вычисляя количество известных значений (0xAA ..) от конца стека до тех пор, пока не найдете первую разницу.