Ich versuche ein Programm zu erstellen, das regelmäßig eine ganze Reihe von Dingen aufzeichnet. Der eigentliche Grund ist, dass ein Entwickler, wenn er Bluescreens sieht, viel zurückgehen und die Umgebung überprüfen kann, um zu sehen, was um diese Zeit herum passiert.
Mein Problem ist, dass sie einen Bluescreen verursachen können? Vielleicht mit einem WindowsAPI-Aufruf (ZeroMemory vielleicht?).
Anywhoo, wenn Sie sich einen Weg vorstellen können, einen Bluescreen auf Anruf zu verursachen, wäre ich dankbar.
Der Computer, den ich gerade teste, ist so konzipiert, dass er solche Sachen macht, haha.
Übrigens ist die Sprache, die ich benutze, C \ C ++. Danke
Sie können einen Computer so konfigurieren, dass er bei einem Tastendruck abstürzt (Strg-ScrollLock)
Da es auf manchen Systemen mit USB-Tastaturen manchmal Probleme gibt, können Sie auch die Debugging-Tools für Windows installieren, den Kernel-Debugger installieren und den Befehl " .crash
" erzwingen Bugcheck.
Wenn Sie den csrss-Prozess beenden, erhalten Sie schnell einen Blue-Screen.
Wenn Sie einen harten Crash wie einen Bluescreen simulieren möchten, müssen Sie das Netzkabel ziemlich schnell ziehen. NICHT empfohlen.
Im Falle eines Absturzes geht alles verloren, was nicht im persistenten Speicher gespeichert wurde. Wenn Sie einen Absturz zum Zwecke der Protokollierung simulieren möchten, schreiben Sie einen "Kill Switch" in Ihren Logger, der die Protokollierung stoppt. Jetzt können Sie einen Absturz simulieren, indem Sie die Protokollierung löschen und sicherstellen, dass Sie die Daten haben, die Sie im Falle eines tatsächlichen Absturzes haben wollten.
Zunächst würde ich Ihnen raten, eine virtuelle Maschine zu verwenden, um diese BSOD zu testen auf. Auf diese Weise können Sie eine Sicherungskopie nur für den Fall aufbewahren, dass der BSOD dem System Schaden zufügt. Hier ist ein Tipp, wie Sie einen BSOD einfach durch Drücken von STRG + SCROLLLOCK + SCROLLLOCK generieren können.
Gibt es eine Windows-API, um eine zu generieren? Nein, laut diesem Artikel . Wenn Sie jedoch bestimmte APIs mit ungültigen Daten aufrufen, könnten sie immer noch einen Absturz im Kernel verursachen, was zu Ihrem BSOD führen würde.
Ich bin mir nicht sicher, was genau du testen würdest. Da Ihr Programm regelmäßig ausgeführt wird, reicht es aus, zu überprüfen, ob die Informationen in der Häufigkeit ausgegeben werden, die Sie bei laufendem System angeben. Überprüfst du, dass die Informationen nach dem blauen Bildschirm erhalten bleiben? Abhängig davon, wie Sie es ablegen (und ob Sie Puffer räumen), ist dies möglicherweise nicht notwendig.
Wenn Sie keinen Code (Treiber, IOCTL ...) schreiben möchten, können Sie DiskCryptor verwenden. Beachten Sie, dass keine Festplattenverschlüsselung erforderlich ist.
Sie müssen nur den Treiber installieren:
dcinst.exe -setup
Und dann generieren ein BSOD mit der DC-Konsole:
dccon.exe -bsod