1

Мой компьютер недавно застыл на ровном месте, пока я просматривал Интернет. Ctrl-Alt-Delete не работал, поэтому мне пришлось прибегнуть к отключению питания и перезагрузке.

Теперь мне интересно, что я мог бы сделать, чтобы диагностировать и определить причину, по которой он завис.

Я читал, что вы можете вызвать системный сбой, но после получения дампа памяти ядра, что я мог сделать в windbg, чтобы выяснить, почему он завис?
Будет ли это работать, если я не могу использовать Ctrl-Alt-Delete? Есть ли другие варианты, чтобы выяснить это?

3 ответа3

1

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

Метод, описанный в статье, которую вы связали, предназначен для использования разработчиками драйверов, которые должны вызывать сбой в целях тестирования. Это не помогло бы вам в вашей ситуации, в первую очередь потому, что у вас не было установлен ключ реестра, когда это произошло. Если бы он был установлен, вы могли бы вызвать сбой и получить дамп памяти для посмертного анализа.

Что я мог с этим сделать?

Наверное, ничего. Когда вы собираете такой дамп через обычный сбой, он обычно содержит легко доступную информацию о том, кто или что вызвало сбой. Вы можете получить эту информацию, загрузив дамп в windbg и выполнив:

!analyze -v

Однако, если вы включили опцию реестра, чтобы вызвать сбой, windbg будет указывать, что драйвер клавиатуры вызвал проверку ошибки.

Вы можете проверить другие процессы и потоки, которые были записаны в дамп, чтобы найти, что на самом деле вызвало зависание. Но вы должны действительно знать, что вы делаете и / или ищете.

И что же мне делать?

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

Как только вы поймете, что проблема возникает по определенной схеме, вы можете приступить к ее устранению.

0

После принудительного создания файла дампа, который может даже не работать в зависимости от проблемы, с которой вы столкнулись, вы можете использовать WinDbg для поиска возможных причин. Первое, что нужно сделать в таком случае:

!analyze -hang -v

... но специфика определяется результатом этого, и для анализа такого рода вещей требуется большой опыт. У вас может даже не быть всех данных, доступных для отслеживания этого до самого конца (в конце концов, у вас нет всех символов).

-2

Memdumps могут помочь вам диагностировать проблему, которая привела к созданию memdump. Принуждение не поможет вам.

Большинство BSOD вызвано драйверами устройств, попробуйте обновить их.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .