@prefix schema: <https://schema.org/> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ks: <https://comcomponent.com/vocab/> .

<https://comcomponent.com/blog/2026/03/16/008-windows-app-crash-dump-collection-introduction/#article>
    schema:about <https://comcomponent.com/knowledge/wer-localdumps/>, <https://comcomponent.com/knowledge/procdump/>, <https://comcomponent.com/knowledge/windbg/> ;
    schema:mentions <https://comcomponent.com/knowledge/crash-dump/>, <https://comcomponent.com/knowledge/wer/>, <https://comcomponent.com/knowledge/minidumpwritedump/>, <https://comcomponent.com/knowledge/minidump/>, <https://comcomponent.com/knowledge/fulldump/>, <https://comcomponent.com/knowledge/miniplus-dump/>, <https://comcomponent.com/knowledge/pdb/>, <https://comcomponent.com/knowledge/postmortem-debugger/>, <https://comcomponent.com/knowledge/first-chance-exception/>, <https://comcomponent.com/knowledge/second-chance-exception/>, <https://comcomponent.com/knowledge/hang-detection/>, <https://comcomponent.com/knowledge/dump-folder-acl/> .

<https://comcomponent.com/knowledge/wer-localdumps/> a skos:Concept ;
    skos:prefLabel "WER LocalDumps"@ja ;
    skos:definition "WERがクラッシュ後にユーザーモードダンプをローカルへ保存するための、レジストリで設定する機能。追加ツールなしでアプリ単位の設定が可能。"@ja ;
    skos:altLabel "LocalDumps" ;
    skos:altLabel "HKLM\\SOFTWARE\\Microsoft\\Windows\\Windows Error Reporting\\LocalDumps" ;
    skos:broader <https://comcomponent.com/knowledge/wer/> ;
    ks:shouldPrecede <https://comcomponent.com/knowledge/procdump/> ;
    ks:implements <https://comcomponent.com/knowledge/crash-dump/> ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/hang-detection/> ;
    ks:shouldPrecede <https://comcomponent.com/knowledge/postmortem-debugger/> .

<https://comcomponent.com/knowledge/procdump/> a skos:Concept ;
    skos:prefLabel "ProcDump"@ja ;
    skos:definition "hang、first chance exception、条件付き採取など、WER LocalDumpsより多くのトリガーでクラッシュダンプを収集できるSysinternalsのツール。"@ja ;
    skos:altLabel "ProcDump (Sysinternals)" ;
    ks:shouldPrecede <https://comcomponent.com/knowledge/minidumpwritedump/> ;
    ks:implements <https://comcomponent.com/knowledge/crash-dump/> .

<https://comcomponent.com/knowledge/windbg/> a skos:Concept ;
    skos:prefLabel "WinDbg"@ja ;
    skos:definition "クラッシュダンプやハングしたプロセスの状態をカーネル/ユーザーモードで解析するためのMicrosoft製デバッガー。SOS拡張によるマネージドヒープ解析や、Application Verifierの検出結果の解析にも使われる。"@ja ;
    skos:altLabel "Debugging Tools for Windows" .

<https://comcomponent.com/knowledge/minidumpwritedump/> a skos:Concept ;
    skos:prefLabel "MiniDumpWriteDump"@ja ;
    skos:definition "UIからの診断情報保存や、ログ・独自メタデータの同梱など、自前のダンプ収集機能を実装するためのWin32 API。"@ja ;
    skos:altLabel "MiniDumpWriteDump API" ;
    ks:recommendedFor <https://comcomponent.com/knowledge/custom-diagnostic-report/> .

<https://comcomponent.com/knowledge/crash-dump/> a skos:Concept ;
    skos:prefLabel "クラッシュダンプ"@ja ;
    skos:definition "プロセスのメモリ内容・スタック情報・例外情報などをファイルへ書き出した、クラッシュ調査に使うスナップショットである。"@ja ;
    skos:altLabel ".dmpファイル"@ja ;
    skos:altLabel "ダンプファイル"@ja ;
    ks:verifiedBy <https://comcomponent.com/knowledge/windbg/> .

<https://comcomponent.com/knowledge/minidump/> a skos:Concept ;
    skos:prefLabel "ミニダンプ"@ja ;
    skos:definition "含めるメモリ量を絞った小さめのクラッシュダンプ。転送しやすいが状態復元の深さは弱い。"@ja ;
    skos:altLabel "DumpType=1" ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/native-boundary-crash-investigation/> .

<https://comcomponent.com/knowledge/fulldump/> a skos:Concept ;
    skos:prefLabel "フルダンプ"@ja ;
    skos:definition "プロセスのメモリを広く含む大きめのクラッシュダンプ。取れる情報は多いがサイズと機密混入リスクが大きい。"@ja ;
    skos:altLabel "DumpType=2" ;
    skos:altLabel "-ma" ;
    ks:recommendedFor <https://comcomponent.com/knowledge/native-boundary-crash-investigation/> .

<https://comcomponent.com/knowledge/miniplus-dump/> a skos:Concept ;
    skos:prefLabel "MiniPlusダンプ"@ja ;
    skos:definition "private メモリ全部と read/write な image/mapped メモリ全部を含みつつ512MBを超える最大のprivate領域だけを除外する、フルダンプ並みに詳しいがサイズを抑えたダンプ種別。"@ja ;
    skos:altLabel "-mp" ;
    skos:altLabel "CustomDumpFlags" .

<https://comcomponent.com/knowledge/native-boundary-crash-investigation/> a skos:Concept ;
    skos:prefLabel "ネイティブ境界の原因調査"@ja ;
    skos:definition "メモリ破壊、ネイティブDLL、COM、P/Invoke、長時間稼働後の状態異常が疑われるクラッシュの原因調査。"@ja ;
    skos:altLabel "メモリ破壊調査"@ja ;
    skos:altLabel "COM/P-Invoke調査"@ja .

<https://comcomponent.com/knowledge/dump-folder-acl/> a skos:Concept ;
    skos:prefLabel "ダンプ保存先フォルダのACL"@ja ;
    skos:definition "クラッシュしたプロセスの実行アカウントが、ダンプの保存先フォルダに実際に書き込める状態になっているかを表すアクセス制御設定。"@ja ;
    skos:altLabel "DumpFolderのアクセス権"@ja ;
    skos:altLabel "icacls" .

<https://comcomponent.com/knowledge/first-chance-exception/> a skos:Concept ;
    skos:prefLabel "first chance exception"@ja ;
    skos:definition "例外が発生した直後、まだアプリの例外ハンドラーが処理する前の段階。アプリがcatchすればそのまま処理は続く。"@ja ;
    skos:altLabel "ファーストチャンス例外"@ja .

<https://comcomponent.com/knowledge/second-chance-exception/> a skos:Concept ;
    skos:prefLabel "second chance exception"@ja ;
    skos:definition "アプリが処理しきれず、未処理例外としてプロセスが終了に向かう段階。ふつう「落ちた」と言うのはこちら。"@ja ;
    skos:altLabel "セカンドチャンス例外"@ja ;
    skos:altLabel "未処理例外"@ja .

<https://comcomponent.com/knowledge/hang-detection/> a skos:Concept ;
    skos:prefLabel "ハング検出"@ja ;
    skos:definition "応答を返さなくなったウィンドウ・プロセスを検出してダンプを採取する動作。"@ja ;
    skos:altLabel "hang" .

<https://comcomponent.com/knowledge/postmortem-debugger/> a skos:Concept ;
    skos:prefLabel "Postmortem debugger"@ja ;
    skos:definition "クラッシュ時にOSが自動的に起動するデバッガーとして、マシン全体のクラッシュ時挙動に登録するもの。"@ja ;
    skos:altLabel "ポストモーテムデバッガー"@ja .

<https://comcomponent.com/knowledge/pdb/> a skos:Concept ;
    skos:prefLabel "PDB(プログラムデータベース)"@ja ;
    skos:definition "ビルド後の.dll/.exeと、ソースコード上の行・変数名を結びつけるデバッグ情報ファイル。アプリケーションの実行には通常不要だが、デバッグ・例外調査・ダンプ解析に使う。"@ja ;
    skos:altLabel "Program Database" ;
    skos:altLabel "シンボルファイル"@ja .

<https://comcomponent.com/knowledge/custom-diagnostic-report/> a skos:Concept ;
    skos:prefLabel "独自の診断情報保存機能"@ja ;
    skos:definition "UIからの「診断情報を保存」ボタンや、ダンプとログ・設定・トレースIDを束ねる独自実装など、アプリ独自に作り込む診断情報収集機能。"@ja ;
    skos:altLabel "診断情報を保存ボタン"@ja .

<https://comcomponent.com/knowledge/notmyfault/> a skos:Concept ;
    skos:prefLabel "NotMyFault"@ja ;
    skos:definition "Windowsシステム自体をcrash/hangさせてブルースクリーンのダンプを作るためのSysinternalsツール。管理者権限が必要で、ユーザーモードアプリのLocalDumps検証には向かない。"@ja ;
    skos:altLabel "NotMyFault (Sysinternals)" ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/wer-localdumps/> .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/wer-localdumps/> ;
    rdf:predicate ks:shouldPrecede ;
    rdf:object <https://comcomponent.com/knowledge/procdump/> ;
    schema:description "クラッシュダンプ収集は、まずWER LocalDumpsをアプリ単位で入れ、必要ならProcDumpを足すという順で考えるのが分かりやすいとされる"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procdump/> ;
    rdf:predicate ks:shouldPrecede ;
    rdf:object <https://comcomponent.com/knowledge/minidumpwritedump/> ;
    schema:description "自前収集のMiniDumpWriteDumpは最後に考えるくらいでちょうどよく、必要になってから検討すれば十分とされる"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows/win32/api/minidumpapiset/nf-minidumpapiset-minidumpwritedump> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/wer-localdumps/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/crash-dump/> ;
    schema:description "WER LocalDumpsはクラッシュ後にローカルへユーザーモードダンプを保存する実装を担う"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procdump/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/crash-dump/> ;
    schema:description "ProcDumpはトリガー条件を指定してクラッシュダンプを生成する実装を担う"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/sysinternals/downloads/procdump> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/wer-localdumps/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/minidump/> ;
    schema:description "DumpTypeを1にした場合、WER LocalDumpsはミニダンプを採取する"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/wer-localdumps/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/fulldump/> ;
    schema:description "DumpTypeを2にした場合、WER LocalDumpsはフルダンプを採取する"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procdump/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/fulldump/> ;
    schema:description "-maオプションを指定した場合、ProcDumpはフルダンプを採取する"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/sysinternals/downloads/procdump> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procdump/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/miniplus-dump/> ;
    schema:description "-mpオプションを指定した場合、ProcDumpはMiniPlusダンプを採取する"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/sysinternals/downloads/procdump> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/fulldump/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/native-boundary-crash-investigation/> ;
    schema:description "メモリ破壊、ネイティブDLL、COM、P/Invoke、長時間稼働後の状態異常が怪しい場合はフル寄りが有利とされる"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/minidump/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/native-boundary-crash-investigation/> ;
    schema:description "ミニダンプは状態復元の深さが弱く、ネイティブ境界の原因調査には不十分になりやすい"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/wer-localdumps/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/dump-folder-acl/> ;
    schema:description "既定以外の保存先パスを使う場合、クラッシュしたプロセスが書き込める権限になっていることを確認する必要がある"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows/win32/wer/collecting-user-mode-dumps> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procdump/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/first-chance-exception/> ;
    schema:description "-e 1オプションを指定した場合、ProcDumpはfirst chance例外でもダンプを採取できる"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/sysinternals/downloads/procdump> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procdump/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/second-chance-exception/> ;
    schema:description "-eオプションを指定した場合、ProcDumpは未処理例外(second chance)でダンプを採取する"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/sysinternals/downloads/procdump> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procdump/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/hang-detection/> ;
    schema:description "-hオプションを指定した場合、ProcDumpはハングしたウィンドウのダンプを採取する"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/sysinternals/downloads/procdump> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/wer-localdumps/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/hang-detection/> ;
    schema:description "WER LocalDumpsは基本的にクラッシュ向けで、hangや細かい条件分岐には弱く、ProcDumpの方が向いている"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/sysinternals/downloads/procdump> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procdump/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/postmortem-debugger/> ;
    schema:description "ProcDumpは-iオプションでpostmortem debuggerとしての登録を実装できるが、マシン全体のクラッシュ時挙動に踏み込むため入門段階の最初の一手には重いとされる"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/enabling-postmortem-debugging> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/wer-localdumps/> ;
    rdf:predicate ks:shouldPrecede ;
    rdf:object <https://comcomponent.com/knowledge/postmortem-debugger/> ;
    schema:description "入門段階ではpostmortem debuggerとしての登録より先に、WERのアプリ単位設定かProcDumpの-w/-x/PID指定から入る方が扱いやすいとされる"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/enabling-postmortem-debugging> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/crash-dump/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/pdb/> ;
    schema:description "ソースファイル名・行番号やネイティブフレームの関数名まで読みたい場合、PDBと配布バイナリの保管とセットで行う必要がある。PDBが無くてもマネージドのスタックフレームや型情報など読める情報は残るが、ソース行の特定にはPDBが要る"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/symbol-path> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/crash-dump/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/windbg/> ;
    schema:description "取れたダンプはWinDbgで開き、シンボルを設定したうえで!analyzeによる自動解析から読み進める"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows-hardware/drivers/debuggercmds/-analyze> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/minidumpwritedump/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/custom-diagnostic-report/> ;
    schema:description "MiniDumpWriteDumpは、UIから診断情報を保存したい、ログや独自メタデータを合わせたいといった自前の診断機能に向く"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/windows/win32/api/minidumpapiset/nf-minidumpapiset-minidumpwritedump> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/notmyfault/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/wer-localdumps/> ;
    schema:description "NotMyFaultはWindowsシステム自体をクラッシュ/ハングさせてブルースクリーンのダンプを作るためのツールで、ユーザーモードアプリのLocalDumps検証には自前の小さなEXEの方が安全で確実とされる"@ja ;
    ks:evidence <https://learn.microsoft.com/en-us/sysinternals/downloads/notmyfault> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .
