知識マップ: Windowsクラッシュダンプ収集入門 - WER/ProcDump/WinDbg
記事「Windowsクラッシュダンプ収集入門 - WER/ProcDump/WinDbg」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。
Windowsアプリのクラッシュダンプ収集は、追加ツールなしでアプリ単位に設定できるWER LocalDumpsをまず入れ、hangやfirst chance exceptionまで見たい場合や既に起動中のプロセスを監視したい場合にProcDumpを足し、独自の診断機能が必要になったときだけMiniDumpWriteDumpによる自前収集を検討するという順で考えるのが安全である。ダンプの種類はミニダンプとフルダンプで採れる情報の深さとサイズがトレードオフになり、.NETのCLRプロセスはProcDumpのMiniPlus指定でもフルダンプ相当のサイズになる。保存先フォルダの書き込み権限を確認しないと収集自体が空振りになり、取得したダンプはPDBと組み合わせてWinDbgで解析して初めて読める情報になる。
flowchart LR
accTitle: Windowsクラッシュダンプ収集(WER/ProcDump/WinDbg)の知識マップ
accDescr: WER LocalDumpsとProcDumpとMiniDumpWriteDumpがこの順で検討すべきクラッシュダンプの収集手段であり、ダンプの種類の選択、保存先ACLの確認、PDBを伴うWinDbgでの解析までが一続きの流れであることを示す図
wer_localdumps["WER LocalDumps"]
procdump["ProcDump"]
windbg["WinDbg"]
minidumpwritedump["MiniDumpWriteDump"]
crash_dump["クラッシュダンプ"]
minidump["ミニダンプ"]
fulldump["フルダンプ"]
miniplus_dump["MiniPlusダンプ"]
native_boundary_crash_investigation["ネイティブ境界の原因調査"]
dump_folder_acl["ダンプ保存先フォルダのACL"]
first_chance_exception["first chance exception"]
second_chance_exception["second chance exception"]
hang_detection["ハング検出"]
postmortem_debugger["Postmortem debugger"]
pdb["PDB(プログラムデータベース)"]
custom_diagnostic_report["独自の診断情報保存機能"]
notmyfault["NotMyFault"]
wer_localdumps -->|"より先に行うべき"| procdump
procdump -->|"より先に行うべき"| minidumpwritedump
wer_localdumps -->|"実装を担う"| crash_dump
procdump -->|"実装を担う"| crash_dump
wer_localdumps -.->|"利用する"| minidump
wer_localdumps -.->|"利用する"| fulldump
procdump -.->|"利用する"| fulldump
procdump -.->|"利用する"| miniplus_dump
fulldump -->|"推奨される対応"| native_boundary_crash_investigation
minidump -->|"用いるのは非推奨"| native_boundary_crash_investigation
wer_localdumps -.->|"前提とする"| dump_folder_acl
procdump -.->|"利用する"| first_chance_exception
procdump -.->|"利用する"| second_chance_exception
procdump -.->|"利用する"| hang_detection
wer_localdumps -->|"用いるのは非推奨"| hang_detection
procdump -.->|"実装を担う"| postmortem_debugger
wer_localdumps -->|"より先に行うべき"| postmortem_debugger
crash_dump -.->|"前提とする"| pdb
crash_dump -->|"で確認できる"| windbg
minidumpwritedump -->|"推奨される対応"| custom_diagnostic_report
notmyfault -->|"用いるのは非推奨"| wer_localdumps
概念間の関係(全21件)
図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。
- WER LocalDumpsはProcDumpより先に行うべきです。
- ProcDumpはMiniDumpWriteDumpより先に行うべきです。
- WER LocalDumpsはクラッシュダンプの実装を担います。
- ProcDumpはクラッシュダンプの実装を担います。
- WER LocalDumpsはミニダンプを利用します。
- WER LocalDumpsはフルダンプを利用します。
- ProcDumpはフルダンプを利用します。
- ProcDumpはMiniPlusダンプを利用します。
- フルダンプはネイティブ境界の原因調査に対する本記事の推奨です。
- ミニダンプをネイティブ境界の原因調査に用いることは推奨されません。
- WER LocalDumpsはダンプ保存先フォルダのACLを前提とします。
- ProcDumpはfirst chance exceptionを利用します。
- ProcDumpはsecond chance exceptionを利用します。
- ProcDumpはハング検出を利用します。
- WER LocalDumpsをハング検出に用いることは推奨されません。
- ProcDumpはPostmortem debuggerの実装を担います。
- WER LocalDumpsはPostmortem debuggerより先に行うべきです。
- クラッシュダンプはPDB(プログラムデータベース)を前提とします。
- クラッシュダンプはWinDbgで確認できます。
- MiniDumpWriteDumpは独自の診断情報保存機能に対する本記事の推奨です。
- NotMyFaultをWER LocalDumpsに用いることは推奨されません。
主要概念の定義
機械可読データ
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。