知識マップ: Process Monitor(ProcMon)実践ガイド ── 「設定が読まれない」「ACCESS DENIED」を10分で特定する
記事「Process Monitor(ProcMon)実践ガイド ── 「設定が読まれない」「ACCESS DENIED」を10分で特定する」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。
この記事は、環境依存の不具合調査でコードを読む前にProcMonで実際のファイル・レジストリアクセスを記録することの実務手順を扱う。まずProcess Nameでプロセスを絞り、次にResultで異常系に絞る2段階フィルタが定石で、NAME NOT FOUND・ACCESS DENIED・SHARING VIOLATIONは連なりの終わり方まで読んで初めて原因と言える。DLLが見つからない問題や設定ファイルがVirtualStoreやWOW64のリダイレクトで意図しない場所に化けている問題は、このNAME NOT FOUNDの連鎖やPath列から特定できる。一方でパケットの中身やCPU時間の内訳、クラッシュ瞬間のスタックはProcMonの守備範囲外であり、Process Explorer・PerfView・WinDbg・pktmonなど他ツールへの使い分けが必要になる。
flowchart LR
accTitle: Process Monitor(ProcMon)実践活用の知識マップ
accDescr: ProcMonのフィルタ手順とResult列の読み方が、DLL探索やVirtualStore・WOW64の問題をどう特定するかを示し、Process Explorerなど他ツールとの守備範囲の違いをまとめた図。
procmon["Process Monitor(procmon.exe)"]
environment_dependent_bug_investigation["環境依存の不具合調査"]
procmon_filter["ProcMonのフィルタ(2段階絞り込み)"]
pml_file["PMLファイル(Process Monitor Log形式)"]
boot_logging["ブートタイムロギング(Enable Boot Logging)"]
procmon_name_not_found["NAME NOT FOUND(Result値)"]
procmon_access_denied["ACCESS DENIED(Result値)"]
procmon_sharing_violation["SHARING VIOLATION(Result値)"]
procmon_buffer_overflow["BUFFER OVERFLOW(Result値)"]
dll_search_order["DLLの検索順序"]
virtualstore_redirection["VirtualStoreへの仮想化"]
wow64_redirection["WOW64リダイレクト"]
process_explorer["Process Explorer"]
admin_rights["管理者権限"]
handle_leak["ハンドルリーク"]
packet_capture_investigation["パケットキャプチャによる通信調査"]
perfview_dotnet_trace["PerfView / dotnet-trace"]
windbg["WinDbg"]
application_verifier["Application Verifier"]
procmon -->|"推奨される対応"| environment_dependent_bug_investigation
procmon -->|"利用する"| procmon_filter
procmon -->|"利用する"| pml_file
procmon -->|"利用する"| boot_logging
procmon -->|"利用する"| procmon_name_not_found
procmon -->|"利用する"| procmon_access_denied
procmon -->|"利用する"| procmon_sharing_violation
procmon -->|"利用する"| procmon_buffer_overflow
dll_search_order -->|"で確認できる"| procmon_name_not_found
virtualstore_redirection -->|"で確認できる"| procmon
wow64_redirection -->|"で確認できる"| procmon
procmon_sharing_violation -->|"で確認できる"| process_explorer
procmon -->|"前提とする"| admin_rights
handle_leak -->|"で確認できる"| process_explorer
procmon -->|"用いるのは非推奨"| packet_capture_investigation
procmon -->|"用いるのは非推奨"| perfview_dotnet_trace
procmon -->|"用いるのは非推奨"| windbg
procmon -->|"用いるのは非推奨"| application_verifier
概念間の関係(全18件)
図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。
- Process Monitor(procmon.exe)は環境依存の不具合調査に対する本記事の推奨です。
- Process Monitor(procmon.exe)はProcMonのフィルタ(2段階絞り込み)を利用します。
- Process Monitor(procmon.exe)はPMLファイル(Process Monitor Log形式)を利用します。
- Process Monitor(procmon.exe)はブートタイムロギング(Enable Boot Logging)を利用します。
- Process Monitor(procmon.exe)はNAME NOT FOUND(Result値)を利用します。
- Process Monitor(procmon.exe)はACCESS DENIED(Result値)を利用します。
- Process Monitor(procmon.exe)はSHARING VIOLATION(Result値)を利用します。
- Process Monitor(procmon.exe)はBUFFER OVERFLOW(Result値)を利用します。
- DLLの検索順序はNAME NOT FOUND(Result値)で確認できます。
- VirtualStoreへの仮想化はProcess Monitor(procmon.exe)で確認できます。
- WOW64リダイレクトはProcess Monitor(procmon.exe)で確認できます。
- SHARING VIOLATION(Result値)はProcess Explorerで確認できます。
- Process Monitor(procmon.exe)は管理者権限を前提とします。
- ハンドルリークはProcess Explorerで確認できます。
- Process Monitor(procmon.exe)をパケットキャプチャによる通信調査に用いることは推奨されません。
- Process Monitor(procmon.exe)をPerfView / dotnet-traceに用いることは推奨されません。
- Process Monitor(procmon.exe)をWinDbgに用いることは推奨されません。
- Process Monitor(procmon.exe)をApplication Verifierに用いることは推奨されません。
主要概念の定義
機械可読データ
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。