Czy istnieje programowy sposób sprawdzania uszkodzenia stosu

Pracuję z wielowątkową aplikacją osadzoną. Każdemu wątkowi przydzielane są rozmiary stosu w oparciu o jego funkcjonalność. Niedawno odkryliśmy, że jeden z wątków uszkodził stos, definiując tablicę zmiennych lokalnych, która była większa niż wielkość stosu. System operacyjny to uItron.

Moje rozwiązanie, zarejestrowałem timer na 10 mS, a ten timer sprawdzi, czy nie doszło do uszkodzenia stosu.

Metoda sprawdzania uszkodzenia stosu, 1. Zainicjuj pamięć stosu za pomocą unikalnego wzorca (używam 0x5A5A5A5A) 2. Sprawdź od czasu, czy górna część pamięci stosu jest nadal 0x5A5A5A5A

Moje pytanie,

Czy istnieje lepszy sposób sprawdzenia tego typu korupcji

Zapomniałem dodać, dodając teraz: OS: Itron, Procesor: ARM9. Kompilator: nie jest GCC (specyfikacja ARM9 dostarczona przez dostawcę procesora) ... I nie ma wbudowanej obsługi sprawdzania stosu ...

questionAnswers(8)

yourAnswerToTheQuestion