Jak debugować błędy uszkodzenia sterty?

Debuguję (natywną) wielowątkową aplikację C ++ w Visual Studio 2008. Na pozornie przypadkowych okazjach pojawia się błąd „Windows wywołał punkt przerwania ...” z informacją, że może to być spowodowane uszkodzeniem sterta. Błędy te nie zawsze powodują awarię aplikacji od razu, chociaż prawdopodobnie ulegną awarii wkrótce.

Duży problem z tymi błędami polega na tym, że pojawiają się dopiero po tym, jak nastąpiło uszkodzenie, co bardzo utrudnia ich śledzenie i debugowanie, zwłaszcza w przypadku aplikacji wielowątkowych.

Jakie rzeczy mogą powodować te błędy?

Jak je zdebugować?

Porady, narzędzia, metody, oświecenia ... są mile widziane.

questionAnswers(14)

yourAnswerToTheQuestion