Отладка сбоя приложения
В приложениях пользовательского режима возможны различные ошибки.
К наиболее распространенным типам сбоев относятся нарушения доступа, ошибки выравнивания, исключения, тайм-ауты критических разделов (взаимоблокировки) и ошибки ввода-вывода на странице.
Нарушения доступа и несоответствие типов данных являются наиболее распространенными. Обычно они возникают при разыменовании недопустимого указателя. Blame может лежать с функцией, вызвавшей ошибку, или с более ранней функцией, которая передала недопустимый параметр в сбойную функцию.
Исключения в пользовательском режиме имеют множество возможных причин. Если возникает неизвестное исключение, найдите его в ntstatus.h или winerror.h, если это возможно.
Время ожидания критического раздела (или возможные взаимоблокировки) возникает, когда один поток ожидает критического раздела в течение длительного времени. Их сложно отлаживать и требует углубленного анализа трассировки стека.
Ошибки ввода-вывода на странице почти всегда являются сбоями оборудования. Для проверки можно дважды проверка код состояния в ntstatus.h.
См. также раздел
Отображение критического раздела
Время ожидания критического раздела (пользовательский режим)