Die Simulation einen BlueScreen
Ich versuche ein Programm, dass Datensätze, die eine ganze Reihe von Dingen in regelmäßigen Abständen.
Der spezifische Grund ist, dass, wenn es bluescreens, Entwickler können gehen Sie zurück und überprüfen Sie eine Menge von der Umgebung und sehen, was Los war um diese Zeit.
Mein problem, gibt es einen Weg, um die Ursache für bluescreen?
Vielleicht mit einer windowsAPI call (ZeroMemory vielleicht?).
Anywhoo, wenn Sie daran denken einen Weg, um die Ursache für bluescreen auf Abruf wäre ich dankbar.
Dem computer, ich Teste das konzipiert ist, um zu nehmen, Sachen wie diese haha.
durch die Art und Weise der Sprache, die ich benutze ist " C\C++.
Danke
- Laden Sie einen Treiber, der prompt führt eine ungültige Anweisung?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie eine Maschine zum Absturz auf einen Tastendruck (Ctrl-ScrollLock)
Da es scheint, daß es Zeiten gibt, wenn das nicht funktioniert auf einigen Systemen mit USB-Tastaturen können Sie auch die Debugging-Tools für Windows verwenden, installieren Sie die kernel-debugger, und verwenden Sie die "
.crash
" - Befehl, um zu erzwingen, eine Fehlerüberprüfung.Um eine Ursache für einen BSOD, eine Treiber laufen im kernel-Modus braucht, um zu verursachen es. Wenn Sie wirklich wollen, dies zu tun, können Sie einen Treiber schreiben, welche macht KeBugCheck zur usermode.
http://msdn.microsoft.com/en-us/library/ms801640.aspx
Dank Andrew unten für den Hinweis dieses Dienstprogramm aus:
http://download.sysinternals.com/files/NotMyFault.zip
KeBugCheckEx
und eine Vielzahl von anderen Möglichkeiten), wenn Sie nicht wollen, um Ihre eigenen schreiben.Wenn Sie töten den csrss-Prozess erhalten Sie, einen blue-screen ziemlich schnell.
Wenn Sie simulieren möchten einen harten Absturz wie ein bluescreen, würden Sie ziemlich viel haben, um ziehen Sie das Netzkabel. NICHT zu empfehlen.
Im crash-Fall, alles, was nicht in den persistenten Speicher gespeichert werden, gehen verloren. Wenn Sie möchten, um zu simulieren, einen crash für Zwecke der Protokollierung, schreiben Sie ein "kill switch" in Ihren logger Stoppt die Protokollierung. Jetzt können Sie simulieren, einen crash durch das töten der Protokollierung und sicherstellen, dass Sie über die Daten, die Sie gewollt haben würden, im Falle eines tatsächlichen crash.
Zunächst, ich würde Ihnen raten, einen Virtuellen Computer verwenden, um dies zu testen BSOD auf. Dies ermöglicht es Ihnen, halten Sie ein backup nur für den Fall der BSOD hat einige Schäden an das system. Hier ein Tipp, wie das generieren eines BSOD einfach durch drücken von STRG+SCROLLLOCK+SCROLLLOCK.
Gibt es eine Windows API zu generieren? Nein, nach dieser Artikel. Dennoch, wenn Sie sagen würden, bestimmte API ' s mit ungültigen Daten, könnten Sie noch einen Absturz verursachen innerhalb des Kernels, die in Ihre BSOD.
Ich bin mir nicht sicher, genau das, was man testen. Seit Ihr Programm läuft in regelmäßigen Abständen, es ist doch genug, um zu überprüfen, dass die Informationen, die gedumpt ist bei der Frequenz, die Sie angeben, während das system ausgeführt wird? Sind Sie überprüfen, dass die Informationen, die bleibt, um nach dem blauen Bildschirm? Je nachdem, wie du servierst es (und ob Sie Spül-Puffer), kann dies nicht notwendig sein.
Wenn Sie nicht wollen, um code zu schreiben (Treiber, IOCTL...), die Sie verwenden können,DiskCryptor. Beachten Sie, dass kein Datenträger verschlüsseln benötigen.
Nur brauchen, um den Treiber zu installieren:
Und erzeugen dann ein bsod mit der DC Konsole:
Führen Prozess als Kritiker und Ausfahrt http://waleedassar.blogspot.co.uk/2012/03/rtlsetprocessiscritical.html