Поделиться через


Отладка сбоя приложения

В приложениях пользовательского режима возможны различные ошибки.

Наиболее распространенные типы сбоев включают нарушения доступа, ошибки выравнивания, исключения, время ожидания в критических секциях (взаимоблокировки) и ошибки ввода-вывода на странице.

Нарушения доступа и несоответствия типов данных являются наиболее распространенными. Обычно они возникают при разыменовании недопустимого указателя. Вина может лежать с функцией, которая вызвала ошибку, или с более ранней функцией, которая передала недопустимый параметр функции сбоя.

Исключения в пользовательском режиме имеют множество возможных причин. Если возникает неизвестное исключение, найдите его в ntstatus.h или winerror.h, если это возможно.

Время ожидания критически важных разделов (или возможные взаимоблокировки) возникает, когда один поток ожидает критического раздела в течение длительного времени. Это сложно выполнить отладку и выполнить подробный анализ трассировки стека.

Ошибки ввода-вывода на странице почти всегда являются сбоями оборудования. Чтобы проверить, можно дважды проверить код состояния в ntstatus.h.

См. также

Отображение критического раздела

Тайм-ауты критических разделов (пользовательский режим)