Есть ли способ программно вызвать BSOD на Windows XP и более новых версиях? Как?
Кстати, чтобы уточнить, это не для злонамеренных целей. Клиент запросил возможность отключить / перезагрузить терминал в своей локальной сети таким образом. Когда я спросил почему, они сказали, потому что это быстрее, чем обычная перезагрузка ... :)
(Мне любопытно, какую часть "программно" делают те люди, которые не понимают, кто перенес это в Super User. Дух.)
Ответы:
Можно сказать, что драйверы клавиатуры вызывают BSOD:
или (для старых клавиатур PS / 2)
И там множество
REG_DWORD
имениCrashOnCtrlScroll
в1
.После следующей перезагрузки вы можете вызвать синий экран с помощью Ctrl+ ScrollLk+ ScrollLk. Код проверки ошибки в этом случае будет 0xE2 (MANUALLY_INITIATED_CRASH).
Если вы действительно хотите , программный метод, вам нужно найти дыру в каком - нибудь водителя на этой машине или записи и установить драйвер , который упрощенно вызовы либо
KeBugCheck
илиKeBugCheckEx
.Веселиться ;)
Примечание: может быть очень полезно намеренно вызывать сбой, подобный этому, для авторов драйверов или даже при работе с вредоносными программами. Если вы сконфигурировали свою систему для создания полного дампа памяти, у вас будет образ работающей системы, который можно будет дополнительно проанализировать. Рассмотрим случаи, подобные тупику, когда отладчик не всегда помогает во всех случаях.
источник
Попробуйте NotMyFault!
http://technet.microsoft.com/en-us/sysinternals/bb963901
источник
Не уверен, как именно это вызывать, но я верю в Vista и 7, по умолчанию он отключается при сбое системы и не показывает BSOD.
источник
Как правило, BSOD происходит, когда что-то идет не так в операционной системе или оборудовании. По своей сути, заставить что-то пойти не так, как внутри, так и за ее пределами, довольно сложно, поскольку как авторы операционных систем, так и производители оборудования не ценят плохих инженеров-программистов, которые делают свои продукты плохими и портят опыт своих пользователей.
Написание драйвера - это один из немногих способов приблизиться к операционной системе и аппаратному обеспечению и вызвать такую ошибку. Конечно, установка такого драйвера - это не то, что вы обычно делаете без целенаправленных знаний и административных привилегий, поэтому использовать его в злонамеренных целях оказывается довольно сложно. При таком доступе вы могли бы причинить гораздо больше вреда без BSOD или подобных обходных путей.
источник
BSOD - это паника ядра. Это означает, что часть ядра, само ядро операционной системы сделали что-то очень плохое. Это может быть исписанная память, может быть выполнен код, которого не должно быть. Программно вам нужно получить код в пространстве ядра, а затем каким-то образом вызвать его по требованию. Немного рискованно для прод-сервера.
Обычные машины с Windows имеют много состояний в процессах и в ядре. Какую бы очистку вы не использовали, чтобы поддерживать согласованное состояние, вы просто замкнули его.
В частности, BSOD - это (обычно) ошибка ядра (или драйвера), ядро находится в плохом состоянии, поэтому плохо, что оно не может очиститься и скорее перезагрузится, потеряв любое хорошее состояние, которое у него есть, только потому, что оно не работает. знать, что хорошо, а что плохо. Любые буферы не могут быть сброшены на диск (и). Затем он попытается очистить при перезагрузке, но потерял много контекста при выключении / панике, так что это будет консервативная очистка, из которой придется выбирать как хорошие, так и плохие остатки от паники.
Таким образом, некоторые ваши преимущества при отключении исчезают при запуске, так как теперь ему нужно выяснить, где он получил его ноги, вырезанные из-под себя. Необходимо запустить chkdsk и очистить все блоки диска, которые находились в состоянии частичной записи. USB-диски кешируются много. Вы можете отключить кэширование, что уменьшит вероятность потери данных при сбое, но не кэширование отнимает некоторую скорость. Какие файлы вы готовы потерять?
Короче, это плохая идея. Любая производственная машина, которая имеет это, может быть в нестабильном состоянии даже после очистки. Это плохо.
Я бы сказал, просто взять удар выключения и перезапустить. Вы потеряете любую экономию времени, которую, по вашему мнению, получите в первый раз, когда вам понадобится восстановить сервер, потому что он не загружается или ваши программы не запускаются.
источник
Должен отметить, что процесс убийства csrss.exe сделает BSOD. Но не на самой новой Windows (8, 8.1).
источник
STATUS_SYSTEM_PROCESS_TERMINATED
), кстати.Фрагмент кода из https://www.mpgh.net/forum/showthread.php?t=1100477 работает в Windows 10.17134.
Кажется, что нет никаких следов в журнале событий. Там наверняка будет след в минидампе, хотя?
источник