「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
- ブルースクリーン(STOPエラー)時、以下のダンプが自動的に生成される。
- [システムのプロパティ]の[起動と回復]設定による。
- このカーネルダンプは、どちらかと言えばクラッシュ・ダンプに分類される。
詳細 †
種類 †
最小メモリ・ダンプ †
- ミニダンプと呼ばれる数十KBの小さいダンプ
- 例外の発生したコードやスタックの情報が書き込まれるが、メモリの情報は出力されない。
- また、以下のダンプ(カーネル メモリ ダンプ、完全メモリ ダンプ)でもミニダンプは取得される。
カーネル・メモリ・ダンプ †
- カーネルモードのメモリ情報
- ブルースクリーン(STOPエラー)時は、カーネルの問題を見る場合が多いので、
殆どの場合は、カーネル メモリ ダンプで事足りる。
- 一般的に数十~数百MB程度の容量になる。
完全メモリ・ダンプ †
- 完全なメモリ情報
- 完全メモリダンプ以外では、ユーザ・プロセス情報が取得できない。
- 以下の条件を満たしていることが取得のための条件になる。
- 搭載メモリ2GB未満
- %SystemDrive?%のPFの初期サイズが搭載メモリ+11MB以上
- ダンプ出力先のドライブに搭載メモリ以上の空き容量
準備 †
ドライブ容量不足時 †
boot.iniに/maxmem スイッチを設定して認識させる物理メモリ(搭載メモリ)を調整する方法もある。
メモリが2GBを超える場合 †
メモリが2Gを超えると部分的にしかメモリ・ダンプが取れなくなる。
- メモリ量が2GBを超える場合、boot.iniに/maxmem スイッチを設定して認識させる物理メモリ(搭載メモリ)を調整する方法もある。
種類の設定の保存場所 †
この設定は以下のレジストリに保存される。
- キーまたはエントリ:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet?\Control\CrashControl?
- 値の名称:CrashDumpEnabled?
- 値:0x0 = なし
- 値:0x1 = の完全メモリ ダンプ
- 値:0x2 = のカーネル メモリ ダンプ
- 値:0x3 = の最小メモリ ダンプ (64 KB)
取得 †
- 物理メモリの情報が一度、ページングファイルに移動される(100カウント待つ)。
- 再起動時、savedump.exeによって、memory.dmpファイルを作成する。
注意点 †
- 物理メモリ上にない仮想アドレスの情報は記録されない事。
- スワップ≒ハードページフォールトが発生しているような環境では
ユーザモードメモリやカーネルモードメモリ(ページプール)の
ダンプが上手く取れない可能性がある。
クラッシュ・ダンプ的 †
STOPエラーが起きれば、カーネル・ダンプが取得される。
意図的 †
STOPエラーを意図的に起こすことでカーネル・ダンプを取得可能。
- キーボード操作
「右」Ctrl キーを押しながら ScrollLock? キーを
2 回押すことにより、メモリ ダンプ ファイルを作成
※ レジストリ設定が必要、未ログイン状態でも可
- NMIスイッチ
OSを強制的にクラッシュさせるボタン
- StartBlueScreen?
NirSoftBlueScreenDriver?.sysという名の非常に小さなデバイス・ドライバをロードし、
コマンドライン中で指定するパラメータでカーネルのKeBugCheckEx? APIを呼ぶ。
参照方法 †
以下は、メモリ ダンプ ファイルを参照する方法である。
Dumpchk †
Dumpchk.exeについては以下を参照のこと
(WinDbgに比べると初歩的な分析しかできない)。
BlueScreenView? †
ミニ・ダンプの一覧ツール、
WinDbgに比べると簡単な情報しか取得できない。
参考 †
Tags: :インフラストラクチャ, :Windows, :障害対応, :デバッグ