マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

  • ブルースクリーン(STOPエラー)時、以下のダンプが自動的に生成される。
    • [システムのプロパティ]の[起動と回復]設定による。
  • このカーネルダンプは、どちらかと言えばクラッシュ・ダンプに分類される。

種類

最小メモリ・ダンプ

  • ミニダンプと呼ばれる数十KBの小さいダンプ
  • 例外の発生したコードやスタックの情報が書き込まれるが、メモリの情報は出力されない。
  • また、以下のダンプ(カーネル メモリ ダンプ、完全メモリ ダンプ)でもミニダンプは取得される。

カーネル・メモリ・ダンプ

  • カーネルモードのメモリ情報
  • ブルースクリーン(STOPエラー)時は、カーネルの問題を見る場合が多いので、
    殆どの場合は、カーネル メモリ ダンプで事足りる。
  • 一般的に数十~数百MB程度の容量になる。   

完全メモリ・ダンプ

  • 完全なメモリ情報
  • 完全メモリダンプ以外では、ユーザ・プロセス情報が取得できない。
  • 以下の条件を満たしていることが取得のための条件になる。
  • 搭載メモリ2GB未満
  • %SystemDrive?%のPFの初期サイズが搭載メモリ+11MB以上
  • ダンプ出力先のドライブに搭載メモリ以上の空き容量

準備

ドライブ容量不足時

boot.iniに/maxmem スイッチを設定して認識させる物理メモリ(搭載メモリ)を調整する方法もある。

メモリが2GBを超える場合

メモリが2Gを超えると部分的にしかメモリ・ダンプが取れなくなる。

  • メモリ量が2GBを超える場合、boot.iniに/maxmem スイッチを設定して認識させる物理メモリ(搭載メモリ)を調整する方法もある。
  • 上記メモリ制限では困難な場合、以下の方法で強制的に取得可能(ただし、不完全なダンプになる)。
    wmic recoveros set DebugInfoType = 1

種類の設定の保存場所

この設定は以下のレジストリに保存される。

  • キーまたはエントリ:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet?\Control\CrashControl?
  • 値の名称:CrashDumpEnabled?
    • 値:0x0 = なし
    • 値:0x1 = の完全メモリ ダンプ
    • 値:0x2 = のカーネル メモリ ダンプ
    • 値:0x3 = の最小メモリ ダンプ (64 KB)

取得

  1. 物理メモリの情報が一度、ページングファイルに移動される(100カウント待つ)。
  2. 再起動時、savedump.exeによって、memory.dmpファイルを作成する。

注意点

  • 物理メモリ上にない仮想アドレスの情報は記録されない事。
  • スワップ≒ハードページフォールトが発生しているような環境では
    ユーザモードメモリやカーネルモードメモリ(ページプール)の
    ダンプが上手く取れない可能性がある。

取得方法

STOPエラーを起こすことでカーネル・ダンプを取得可能。 

  • キーボード操作でメモリ ダンプ ファイルを作成できる Windows の機能
    http://support.microsoft.com/kb/244139/ja

    ※ Ctrl キーを押しながら ScrollLock? キーを 2 回押すことにより、メモリ ダンプ ファイルを作成

  • Windows ベースのシステムでは、NMI を使用して
    完全クラッシュ ダンプ ファイルまたはカーネル クラッシュ ダンプ ファイルを生成する方法
    http://support.microsoft.com/kb/927069/ja

    ※ NMIスイッチ とはOSを強制的にクラッシュさせるボタン 

  • StartBlueScreen? - Initiate a Blue Screen of Death (BSOD) in Windows operating system
    http://www.nirsoft.net/utils/start_blue_screen.html

    NirSoftBlueScreenDriver?.sysという名の非常に小さなデバイス・ドライバをロードし、
    コマンドライン中で指定するパラメータでウィンドウズ・カーネルのKeBugCheckEx? APIを呼ぶ。

StartBlueScreen?をコマンドから実行して完全メモリダンプを取得する。

> StartBlueScreen.exe 0x10 0x1111 0x2222 0x3333 0x4444

参照方法

以下は、メモリ ダンプ ファイルを参照する方法である。

  • Dumpchk.exe
    Dumpchk.exeについては以下を参照のこと(WinDbgに比べると初歩的な分析しかできない)。
    • Dumpchk.exe を使用してメモリ ダンプ ファイルをチェックする方法
      http://support.microsoft.com/kb/315271/ja
      • メモリ ダンプ ファイルが正常に作成されたかどうかの検証に使用できるコマンド ライン ユーティリティ
      • メモリ ダンプ ファイル内でエラーが検出された場合は、Dumpchk により報告される。
    • Dumpchk.exe を使用したメモリ ダンプ ファイルの確認
      http://technet.microsoft.com/ja-jp/library/ee424340.aspx
      • メモリ ダンプ ファイルが正常に作成されたかどうかの検証に使用できるコマンド ライン ユーティリティ
      • メモリ ダンプ ファイルにエラーが見つかった場合、Dumpchk により報告される。

STOPエラー

STOPエラーとは

  • バクチェック関数(KeBugCheckEx?)が呼び出され起きる。
  • OSがバクチェック関数を呼び出すのは最後の手段である。
  • STOPエラー発生時にカーネル・ダンプが生成される。

STOPエラーのトラブルシュート

以下は、STOPエラーのエラーメッセージに対応したトラブルシュートの手順。

  • 一般 ストップ エラーのトラブルシューティング
    一般的なトラブルシュートの手順
  • 特殊 ストップ エラーのトラブルシューティング
    ストップエラー番号に対応するトラブルシュートの手順
  • ハードウェア障害メッセージのトラブルシューティング
    ハードウェア障害メッセージが出力された際のトラブルシュートの手順

Tags: :インフラストラクチャ, :Windows, :障害対応, :デバッグ


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-01-16 (火) 16:31:31 (335d)