メモリダンプ【memory dump】クラッシュダンプ/crash dump
概要

コンピュータはプログラムの実行中、処理に必要なデータを一時的にメモリ上に展開している。メモリの内容は電源を切ると消えるが、システムが突然停止したり異常終了したりした直後には、不具合の原因となった情報がまだメモリ内に残っている。
この稼働が停止した瞬間のメモリ上の内容をそのまま丸ごとストレージへ書き出して保存しておくことで、後から時間をかけて問題を調べることができる。「ダンプ」(dump)とは中身をそのまま吐き出すという意味であり、データを整形せず生の状態で出力することを指している。
メモリダンプの主な用途はクラッシュの原因調査である。Windowsでは深刻なエラーが起きると「ブルースクリーン」(BSOD)と呼ばれる青い画面が表示されてシステムが停止するが、このとき自動的にメモリダンプが生成される。技術者はこのファイルを専用ツールで解析し、クラッシュ直前にどのプログラムが何をしていたか、どの時点でエラーが起きたかを調べることができる。常に再現できる不具合なら動作を追いかけられるが、滅多に起きない異常の場合は停止した瞬間の記録が唯一の手がかりとなる。
保存される範囲によって種類が異なる。システム全体のメモリを丸ごと記録する「フルダンプ」は詳細な解析が可能である反面、ファイルサイズが非常に大きくなる。問題に関連する部分だけを抜き出した「ミニダンプ」は軽量で扱いやすく、調査の初動で広く使われる。ダンプファイルの中身は16進数やバイナリ形式の数値の羅列であり、人間がそのまま読める形式ではないため、解析にはデバッグシンボルや専用ツールを組み合わせる必要がある。
セキュリティの分野では、マルウェア解析にもメモリダンプが用いられる。悪意あるプログラムは実行中にのみメモリ上に姿を現すことがあり、ストレージ上のファイルを調べるだけでは実態をつかめない場合がある。メモリの内容をそのまま出力する性質上、パスワードや個人情報といった機密データがファイルに含まれることもあるため、取得・保管の際はアクセス制御を適切に設定し、むやみに外部へ送付したり公開したりしないよう注意が求められる。