9

定期的にたくさんのことを記録するプログラムを作ろうとしています。具体的な理由は、ブルースクリーンが発生した場合、開発者は戻って多くの環境をチェックし、その頃に何が起こっていたかを確認できるためです.

私の問題は、ブルースクリーンを引き起こす方法ですか? おそらく、windowsAPI 呼び出しを使用します (ZeroMemory かな?)。

とにかく、通話中にブルースクリーンを発生させる方法を考えていただければ幸いです。

私がこれをテストしているコンピューターは、このようなものを取るように設計されています (笑)。

ちなみに私が使っている言語はC\C++です。ありがとうございました

4

8 に答える 8

12

キーストローク (Ctrl-ScrollLock) でクラッシュするようにマシンを構成できます。

一部のシステムでは USB キーボードが機能しない場合があるため、Windows 用のデバッグ ツールを入手し、カーネル デバッガーをインストールして、" .crash" コマンドを使用してバグチェックを強制することもできます。

于 2009-03-20T19:24:46.090 に答える
6

BSOD を引き起こすには、カーネル モードで実行されているドライバーが原因である必要があります。本当にこれを行いたい場合は、KeBugCheck をユーザーモードに公開するドライバーを作成できます。

http://msdn.microsoft.com/en-us/library/ms801640.aspx

このユーティリティを指摘してくれた以下の Andrew に感謝します。

http://download.sysinternals.com/files/NotMyFault.zip

于 2009-03-20T19:30:48.057 に答える
4

csrss プロセスを強制終了すると、すぐにブルー スクリーンが表示されます。

于 2009-03-20T19:23:28.230 に答える
1

ブルースクリーンなどのハード クラッシュをシミュレートしたい場合は、ほとんど電源コードを引っ張る必要があります。推奨されません。

クラッシュが発生した場合、永続ストレージに保存されていないものはすべて失われます。ロギングのためにクラッシュをシミュレートしたい場合は、ロギングを停止する「kill スイッチ」をロガーに書き込みます。これで、ログを強制終了し、実際のクラッシュの場合に必要なデータがあることを確認することで、クラッシュをシミュレートできます。

于 2009-03-20T19:24:26.840 に答える
1

まず、仮想マシンを使用してこのBSODをテストすることをお勧めします。これにより、BSOD がシステムに何らかの損害を与えた場合に備えて、バックアップを保持できます。CTRL+SCROLLLOCK+SCROLLLOCK を押すだけで BSOD を生成する方法のヒントを次に示します。

生成するための Windows API はありますか? いいえ、この記事によると. それでも、無効なデータで特定の API を呼び出すと、カーネル内でクラッシュが発生し、BSOD が発生する可能性があります。

于 2009-09-23T11:46:02.787 に答える
0

何をテストするのか正確にはわかりません。プログラムは定期的に実行されるため、システムの実行中に指定した頻度で情報がダンプされていることを確認するだけで十分でしょうか? ブルースクリーンの後も情報が残っていることを確認していますか? ダンプ方法 (およびバッファーをフラッシュするかどうか) によっては、これが必要ない場合があります。

于 2009-03-20T19:28:13.307 に答える
0

プロセスを批評家として実行し、 http: //waleedassar.blogspot.co.uk/2012/03/rtlsetprocessiscritical.html を終了します。

于 2013-10-12T20:45:55.290 に答える