@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/procmon-practical-guide/#article>
    schema:about <https://comcomponent.com/knowledge/procmon/>, <https://comcomponent.com/knowledge/environment-dependent-bug-investigation/> ;
    schema:mentions <https://comcomponent.com/knowledge/procmon-filter/>, <https://comcomponent.com/knowledge/pml-file/>, <https://comcomponent.com/knowledge/boot-logging/>, <https://comcomponent.com/knowledge/procmon-name-not-found/>, <https://comcomponent.com/knowledge/procmon-access-denied/>, <https://comcomponent.com/knowledge/procmon-sharing-violation/>, <https://comcomponent.com/knowledge/procmon-buffer-overflow/>, <https://comcomponent.com/knowledge/dll-search-order/>, <https://comcomponent.com/knowledge/virtualstore-redirection/>, <https://comcomponent.com/knowledge/wow64-redirection/>, <https://comcomponent.com/knowledge/process-explorer/>, <https://comcomponent.com/knowledge/perfview-dotnet-trace/>, <https://comcomponent.com/knowledge/packet-capture-investigation/>, <https://comcomponent.com/knowledge/application-verifier/>, <https://comcomponent.com/knowledge/windbg/>, <https://comcomponent.com/knowledge/handle-leak/>, <https://comcomponent.com/knowledge/admin-rights/> .

<https://comcomponent.com/knowledge/procmon/> a skos:Concept ;
    skos:prefLabel "Process Monitor(procmon.exe)"@ja ;
    skos:definition "ファイルI/O・レジストリ・プロセス/スレッド活動をリアルタイムに監視できるSysinternalsのツール。Advanced Outputを有効にすると、IRPやファストI/Oのカーネル側の語彙で操作を表示する。"@ja ;
    skos:altLabel "Procmon" ;
    skos:altLabel "Process Monitor" ;
    ks:recommendedFor <https://comcomponent.com/knowledge/environment-dependent-bug-investigation/> ;
    ks:uses <https://comcomponent.com/knowledge/procmon-filter/> ;
    ks:uses <https://comcomponent.com/knowledge/pml-file/> ;
    ks:uses <https://comcomponent.com/knowledge/boot-logging/> ;
    ks:uses <https://comcomponent.com/knowledge/procmon-name-not-found/> ;
    ks:uses <https://comcomponent.com/knowledge/procmon-access-denied/> ;
    ks:uses <https://comcomponent.com/knowledge/procmon-sharing-violation/> ;
    ks:uses <https://comcomponent.com/knowledge/procmon-buffer-overflow/> ;
    ks:requires <https://comcomponent.com/knowledge/admin-rights/> ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/packet-capture-investigation/> ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/perfview-dotnet-trace/> ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/windbg/> ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/application-verifier/> .

<https://comcomponent.com/knowledge/environment-dependent-bug-investigation/> a skos:Concept ;
    skos:prefLabel "環境依存の不具合調査"@ja ;
    skos:definition "特定の環境や端末でだけ起きる不具合の原因を、コードを読むより先に、実際に何が起きたかの記録(ファイル・レジストリアクセスなど)から特定していく調査の進め方。"@ja ;
    skos:altLabel "再現条件の絞り込み"@ja ;
    skos:altLabel "「設定が反映されない」調査"@ja .

<https://comcomponent.com/knowledge/procmon-filter/> a skos:Concept ;
    skos:prefLabel "ProcMonのフィルタ(2段階絞り込み)"@ja ;
    skos:definition "まずProcess Nameで対象プロセスにIncludeを掛け、次にResultで異常系に絞るというProcMon利用の定石。フィルタは表示上の絞り込みで、裏では既定で全イベントが記録される非破壊フィルタである。"@ja ;
    skos:altLabel "Process Name → Resultの絞り込み"@ja .

<https://comcomponent.com/knowledge/pml-file/> a skos:Concept ;
    skos:prefLabel "PMLファイル(Process Monitor Log形式)"@ja ;
    skos:definition "ProcMonがイベントを保存できるネイティブ形式のログファイル。全カラム・全詳細(スタックを含む)を保持し、別のマシンのProcMonでそのまま開ける。"@ja ;
    skos:altLabel "Native Process Monitor Format" ;
    skos:altLabel "PML" .

<https://comcomponent.com/knowledge/boot-logging/> a skos:Concept ;
    skos:prefLabel "ブートタイムロギング(Enable Boot Logging)"@ja ;
    skos:definition "次回起動時のブート初期からのイベントを記録するProcMonの機能。サービスがログオン前に失敗する等、ProcMonを手で起動するより前に問題が起きるケースの調査に使う。"@ja ;
    skos:altLabel "Boot Logging" .

<https://comcomponent.com/knowledge/procmon-name-not-found/> a skos:Concept ;
    skos:prefLabel "NAME NOT FOUND(Result値)"@ja ;
    skos:definition "ProcMonのResult列に出る、指定パスに名前が存在しないことを示す値。探索順の途中経過であることが多く、最後にSUCCESSがあるかどうかまで見て初めて異常かどうかを判断できる。"@ja ;
    skos:altLabel "NAME NOT FOUND" ;
    skos:broader <https://comcomponent.com/knowledge/procmon/> .

<https://comcomponent.com/knowledge/procmon-access-denied/> a skos:Concept ;
    skos:prefLabel "ACCESS DENIED(Result値)"@ja ;
    skos:definition "ProcMonのResult列に出る、アクセス拒否を示す値。権限・ACL・ウイルス対策・保護領域への書き込みなど、原因の可能性が高いResult値とされる。"@ja ;
    skos:altLabel "ACCESS DENIED" ;
    skos:broader <https://comcomponent.com/knowledge/procmon/> .

<https://comcomponent.com/knowledge/procmon-sharing-violation/> a skos:Concept ;
    skos:prefLabel "SHARING VIOLATION(Result値)"@ja ;
    skos:definition "ProcMonのResult列に出る、他のプロセスが排他的にファイルを開いているために生じる共有違反を示す値。ファイルロックの競合原因の特定に使う。"@ja ;
    skos:altLabel "SHARING VIOLATION" ;
    skos:altLabel "共有違反"@ja ;
    skos:broader <https://comcomponent.com/knowledge/procmon/> ;
    ks:verifiedBy <https://comcomponent.com/knowledge/process-explorer/> .

<https://comcomponent.com/knowledge/procmon-buffer-overflow/> a skos:Concept ;
    skos:prefLabel "BUFFER OVERFLOW(Result値)"@ja ;
    skos:definition "ProcMonのResult列に出る、呼び出し側が用意したバッファより必要なデータが大きかったために必要サイズを返した、という正常なAPIの往復を示す値。セキュリティ用語のバッファオーバーフロー攻撃とは無関係。"@ja ;
    skos:altLabel "BUFFER OVERFLOW" ;
    skos:broader <https://comcomponent.com/knowledge/procmon/> .

<https://comcomponent.com/knowledge/dll-search-order/> a skos:Concept ;
    skos:prefLabel "DLLの検索順序"@ja ;
    skos:definition "Windowsが実行ファイルの起動時に限らず、LoadLibrary系APIによる動的な読み込み時も含めて、DLL redirectionやKnown DLLsなどの前段ルールを経てDLLを探す、決まった順序でフォルダーを辿る仕組み。"@ja ;
    skos:altLabel "DLL探索順"@ja ;
    ks:verifiedBy <https://comcomponent.com/knowledge/procmon-name-not-found/> .

<https://comcomponent.com/knowledge/virtualstore-redirection/> a skos:Concept ;
    skos:prefLabel "VirtualStoreへの仮想化"@ja ;
    skos:definition "Program Files配下など管理者権限が必要な場所への書き込みが、実際にはユーザーごとのVirtualStoreフォルダーへリダイレクトされ、読み書きが別の場所に化けるWindowsの互換機能。"@ja ;
    skos:altLabel "ファイル・レジストリの仮想化"@ja ;
    skos:altLabel "VirtualStore" ;
    ks:verifiedBy <https://comcomponent.com/knowledge/procmon/> .

<https://comcomponent.com/knowledge/wow64-redirection/> a skos:Concept ;
    skos:prefLabel "WOW64リダイレクト"@ja ;
    skos:definition "32bitプロセスからのシステムフォルダーやレジストリへのアクセスが、WOW64によって別のビューへ自動的に振り替えられる仕組み。見ているつもりの場所と実際にアクセスする場所がずれる原因になる。"@ja ;
    skos:altLabel "WOW64ファイルシステムリダイレクター"@ja ;
    ks:verifiedBy <https://comcomponent.com/knowledge/procmon/> .

<https://comcomponent.com/knowledge/process-explorer/> a skos:Concept ;
    skos:prefLabel "Process Explorer"@ja ;
    skos:definition "プロセスに読み込まれているDLLだけでなく、ハンドル・スレッドスタック・GDI/USERオブジェクト数なども確認できるSysinternalsのプロセス監視ツール。管理者として実行すると他ユーザーやサービスのプロセスも参照できる。"@ja .

<https://comcomponent.com/knowledge/admin-rights/> a skos:Concept ;
    skos:prefLabel "管理者権限"@ja ;
    skos:definition "コンピューター全体の設定を変更できる権限。"@ja ;
    skos:altLabel "昇格"@ja .

<https://comcomponent.com/knowledge/handle-leak/> a skos:Concept ;
    skos:prefLabel "ハンドルリーク"@ja ;
    skos:definition "参照カウントやハンドルカウントの数え違いなどにより、不要になったハンドル(ファイル・イベント・スレッド・GDIオブジェクト・アクセストークンなどカーネルオブジェクトへの参照)が解放されずに積み上がっていく状態。"@ja ;
    skos:altLabel "Handle Leak" ;
    ks:verifiedBy <https://comcomponent.com/knowledge/process-explorer/> .

<https://comcomponent.com/knowledge/packet-capture-investigation/> a skos:Concept ;
    skos:prefLabel "パケットキャプチャによる通信調査"@ja ;
    skos:definition "通信プロトコルレベルの調査のために、WiresharkやWindows標準のPacket Monitor(pktmon)でパケットの中身を採取・解析すること。"@ja ;
    skos:altLabel "Wireshark" ;
    skos:altLabel "pktmon" .

<https://comcomponent.com/knowledge/perfview-dotnet-trace/> a skos:Concept ;
    skos:prefLabel "PerfView / dotnet-trace"@ja ;
    skos:definition "CPUサンプル・GC・アロケーションなど、.NETアプリケーションの「遅い」の原因を定量的に調査するためのプロファイリングツール群。"@ja ;
    skos:altLabel "PerfView" ;
    skos:altLabel "dotnet-trace" .

<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/application-verifier/> a skos:Concept ;
    skos:prefLabel "Application Verifier"@ja ;
    skos:definition "Windowsのuser-modeアプリに対するランタイム検証ツールで、OS API利用や資源の扱い方を監視し誤用の検出や意図的な失敗の注入を行う。"@ja ;
    skos:altLabel "AppVerifier" ;
    skos:altLabel "appverif.exe" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procmon/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/environment-dependent-bug-investigation/> ;
    schema:description "環境依存の不具合調査で最初にやるべきことは、コードを読むことではなく、ProcMonで実際に何が起きたかの記録を取ることである"@ja ;
    ks:evidence <https://learn.microsoft.com/sysinternals/downloads/procmon> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procmon/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/procmon-filter/> ;
    schema:description "ProcMonは絞り込んでから読むツールで、まずProcess Nameで対象プロセスに絞り、次にResultで異常系に絞る2段階フィルタが定石になる"@ja ;
    ks:evidence <https://learn.microsoft.com/sysinternals/downloads/procmon> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procmon/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/pml-file/> ;
    schema:description "ProcMonのログはPMLファイルとして保存すれば、別のマシンでも全カラム・全詳細を確認できるため、顧客環境で採取して自社で解析する分業が成立する"@ja ;
    ks:evidence <https://learn.microsoft.com/sysinternals/downloads/procmon> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procmon/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/boot-logging/> ;
    schema:description "サービスがログオン前に失敗するなど、ProcMonを手動起動するより前に起きる問題にはEnable Boot Loggingでブート初期からのイベントを記録する"@ja ;
    ks:evidence <https://learn.microsoft.com/sysinternals/downloads/procmon> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procmon/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/procmon-name-not-found/> ;
    schema:description "ProcMonのResult列にはNAME NOT FOUNDのような値が表示され、探索順の途中経過か本当に見つからないのかを連なりで判断する"@ja ;
    ks:evidence <https://learn.microsoft.com/sysinternals/downloads/procmon> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procmon/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/procmon-access-denied/> ;
    schema:description "ProcMonのResult列にはACCESS DENIEDが表示され、原因の可能性が高い結果として調査の起点になる"@ja ;
    ks:evidence <https://learn.microsoft.com/sysinternals/downloads/procmon> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procmon/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/procmon-sharing-violation/> ;
    schema:description "ProcMonのResult列にはSHARING VIOLATIONが表示され、時系列で前後の行を見ることでファイルを掴んでいる相手を特定できる"@ja ;
    ks:evidence <https://learn.microsoft.com/sysinternals/downloads/procmon> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procmon/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/procmon-buffer-overflow/> ;
    schema:description "ProcMonのResult列にはBUFFER OVERFLOWのような一見異常に見えるが実際は正常なAPIの往復を示す値も表示される"@ja ;
    ks:evidence <https://learn.microsoft.com/sysinternals/downloads/procmon> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/dll-search-order/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/procmon-name-not-found/> ;
    schema:description "DLLが見つからない、または意図しないDLLを掴んでいる問題は、Pathに対するNAME NOT FOUNDの連なりが探索順どおりに並び、最後にSUCCESSがあるかどうかで確認できる"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/dlls/dynamic-link-library-search-order> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/virtualstore-redirection/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/procmon/> ;
    schema:description "Program Files配下への書き込みがVirtualStoreへ仮想化されているかどうかは、ProcMonのPath列に出る実際の読み書き先を見れば分かる"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/win7appqual/file-and-registry-virtualization> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/wow64-redirection/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/procmon/> ;
    schema:description "32bitプロセスがWOW64のリダイレクトを受けて意図と違う場所を見ている場合も、ProcMonのPathに実際のアクセス先が出るため確認できる"@ja ;
    ks:evidence <https://learn.microsoft.com/windows/win32/winprog64/file-system-redirector> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procmon-sharing-violation/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/process-explorer/> ;
    schema:description "「今この瞬間、誰が同じファイルを掴んでいるか」を知りたいだけなら、ProcMonよりProcess Explorerのハンドル検索の方が速く確認できる"@ja ;
    ks:evidence <https://learn.microsoft.com/sysinternals/downloads/process-explorer> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procmon/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/admin-rights/> ;
    schema:description "ProcMonはカーネルドライバーを読み込むため、起動には管理者権限(UACの昇格)が必要になる"@ja ;
    ks:evidence <https://learn.microsoft.com/sysinternals/downloads/procmon> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/handle-leak/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/process-explorer/> ;
    schema:description "長期稼働でハンドルやメモリが増え続ける原因は、Process Explorerでハンドル数やDLLの状態を観察することで確認できる"@ja ;
    ks:evidence <https://learn.microsoft.com/sysinternals/downloads/process-explorer> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procmon/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/packet-capture-investigation/> ;
    schema:description "ProcMonはTCP/UDPの接続イベントは記録するがパケットの中身までは見えないため、プロトコルレベルの調査に用いるのは推奨されない"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-server/networking/technologies/pktmon/pktmon> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procmon/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/perfview-dotnet-trace/> ;
    schema:description "CPUをどこで使っているかの本格的なプロファイリングにProcMonを用いるのは推奨されず、PerfViewやdotnet-traceの領分になる"@ja ;
    ks:evidence <https://learn.microsoft.com/dotnet/core/diagnostics/dotnet-trace> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procmon/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/windbg/> ;
    schema:description "クラッシュ・ハングの瞬間のメモリとスタックの解析にProcMonを用いるのは推奨されず、WinDbg+ダンプの領分になる"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debugger/> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/procmon/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/application-verifier/> ;
    schema:description "ヒープ破壊やハンドルの二重解放などAPIの誤用の検出にProcMonを用いるのは推奨されず、Application Verifierの領分になる"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/devtest/application-verifier> ;
    ks:verifiedAt "2026-08-01" ;
    ks:certainty "established" .
