0

私が開発しているドライバーの1つがBSODを引き起こしました。残念ながら、ダンプファイルは構成されていないか、リソースが少ないため、作成されませんでした。私はこのクラッシュを再現しようとしていましたが、今のところ運がありません。

WinDbgまたは他のツールを使用して情報を取得する方法はありますか?私はこの情報を持っています:

  • BSODのスクリーンショット
  • .sysファイル。
  • そのpdb
  • ソースコード
  • クラッシュしたマシン

ダンプ自体以外はすべて持っています。

あなたの助けは大歓迎です。


上で述べたように、ダンプ(/ minidump)は存在しません。これが実際の問題です。

この特定のクラッシュでは、スタックを取得できないことがわかっています。特定のコード行を取得するだけで十分です。BSODにはモジュールのアドレスが含まれているため、どの行が正確にそれであるかを検出する方法があるはずです。上で述べたように、私は.sysファイル、pdb、およびソースコードを持っています。

これは、MSDNから取得した特定のコードです:SYSTEM_SERVICE_EXCEPTION。そこから特定の行が何であったかをどのように知ることができますか?および/または発生した特定の例外?

4

2 に答える 2

1

クラッシュアドレスがあります。ソース行を知りたいですか?

kdまたはwindbgを起動し、その前のアドレスとコードを破棄します。関数のエントリポイント(スタックを調整する場所)を見つけると、シンボルテーブルを検索できるようになります。そこから再び分解し、ソースを比較します。

申し訳ありませんが、私はあなたがいくつかのasmを読む必要があると思います。これ以上の方法はわかりません。

于 2012-07-03T03:13:12.150 に答える
0

運が良ければミニダンプが入っているC:\windowsので、そこにあるかどうかを確認してください。利用可能な場合は、Windbgで開いて分析します。ダンプを作成するために低リソースを構成する必要はありません。ダンプファイルを作成するためのウィンドウのセットアップ方法については、このリンクhttp://support.microsoft.com/kb/254649を参照してください。ドライバーをデバッグする場合は、フルダンプを作成します。

問題を分析するために質問に戻ります。

しかし、あなたが持っている情報で良い結論に達する可能性は低いです。問題を実際に理解するには、ダンプファイルが必要になります。

于 2012-07-02T08:52:11.743 に答える