Я отлаживаю (собственное) многопоточное приложение на С++ в Visual Studio 2008. По-видимому, случайные случаи, я получаю сообщение "Windows вызвало ошибку..." с примечанием о том, что это может быть связано с повреждением в куче. Эти ошибки не всегда приводят к краху приложения сразу, хотя это может привести к краху после.
Большая проблема с этими ошибками заключается в том, что они появляются только после того, как на самом деле произошло повреждение, что затрудняет их отслеживание и отладку, особенно в многопоточном приложении.
-
Какие вещи могут вызывать эти ошибки?
-
Как отлаживать их?
Подсказки, инструменты, методы, просветы... приветствуются.