@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/windows-time-travel-debugging-ttd/#article>
    schema:about <https://comcomponent.com/knowledge/time-travel-debugging/> ;
    schema:mentions <https://comcomponent.com/knowledge/ttd-recording/>, <https://comcomponent.com/knowledge/windbg/>, <https://comcomponent.com/knowledge/admin-rights/>, <https://comcomponent.com/knowledge/ttd-trace-file/>, <https://comcomponent.com/knowledge/ttd-index-file/>, <https://comcomponent.com/knowledge/ttd-exe/>, <https://comcomponent.com/knowledge/ttd-ring-buffer/>, <https://comcomponent.com/knowledge/ttd-module-filter/>, <https://comcomponent.com/knowledge/ttd-manual-record-mode/>, <https://comcomponent.com/knowledge/ttd-monitor-mode/>, <https://comcomponent.com/knowledge/ttd-recording-overhead/>, <https://comcomponent.com/knowledge/ttd-trace-growth/>, <https://comcomponent.com/knowledge/ttd-position/>, <https://comcomponent.com/knowledge/ttd-events-query/>, <https://comcomponent.com/knowledge/exception/>, <https://comcomponent.com/knowledge/ttd-calls-query/>, <https://comcomponent.com/knowledge/ttd-memory-query/>, <https://comcomponent.com/knowledge/reverse-execution/>, <https://comcomponent.com/knowledge/break-on-access/>, <https://comcomponent.com/knowledge/intermittent-failure/>, <https://comcomponent.com/knowledge/long-run-crash-investigation/>, <https://comcomponent.com/knowledge/data-corruption/>, <https://comcomponent.com/knowledge/handle-leak/>, <https://comcomponent.com/knowledge/application-hang/>, <https://comcomponent.com/knowledge/private-symbols/>, <https://comcomponent.com/knowledge/information-leakage/>, <https://comcomponent.com/knowledge/protected-process-light/>, <https://comcomponent.com/knowledge/application-verifier/>, <https://comcomponent.com/knowledge/dump-analysis/>, <https://comcomponent.com/knowledge/sos-extension/> .

<https://comcomponent.com/knowledge/time-travel-debugging/> a skos:Concept ;
    skos:prefLabel "Time Travel Debugging(TTD)"@ja ;
    skos:definition "プロセスの命令実行を丸ごと録画し、あとから前にも後ろにも再生できるWinDbgの機能。ダンプが取り逃がす失敗までの実行経路を残す。"@ja ;
    skos:altLabel "TTD" ;
    skos:altLabel "タイムトラベルデバッグ"@ja ;
    skos:altLabel "Time Travel Debugging" ;
    ks:requires <https://comcomponent.com/knowledge/windbg/> ;
    ks:uses <https://comcomponent.com/knowledge/ttd-recording/> ;
    ks:uses <https://comcomponent.com/knowledge/ttd-position/> .

<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" ;
    ks:uses <https://comcomponent.com/knowledge/ttd-index-file/> .

<https://comcomponent.com/knowledge/ttd-recording/> a skos:Concept ;
    skos:prefLabel "TTDの録画"@ja ;
    skos:definition "対象プロセスに録画エンジンを注入し、実行された命令を命令単位で記録する操作と、その記録内容。管理者権限を要し、対象プロセスを大きく遅くする。"@ja ;
    skos:altLabel "TTD録画"@ja ;
    skos:altLabel "トレースの記録"@ja ;
    skos:altLabel "TTD recording" ;
    skos:broader <https://comcomponent.com/knowledge/time-travel-debugging/> ;
    ks:requires <https://comcomponent.com/knowledge/admin-rights/> ;
    ks:storedIn <https://comcomponent.com/knowledge/ttd-trace-file/> ;
    ks:mayCause <https://comcomponent.com/knowledge/ttd-recording-overhead/> ;
    ks:mayCause <https://comcomponent.com/knowledge/ttd-trace-growth/> ;
    ks:incompatibleWith <https://comcomponent.com/knowledge/protected-process-light/> .

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

<https://comcomponent.com/knowledge/ttd-trace-file/> a skos:Concept ;
    skos:prefLabel "TTDトレースファイル(.run)"@ja ;
    skos:definition "TTDの録画中の命令実行を保存するファイル。活動中は毎秒5〜50MB成長し、上限は無い。メモリ内容を含む。"@ja ;
    skos:altLabel ".run" ;
    skos:altLabel "トレースファイル"@ja ;
    skos:broader <https://comcomponent.com/knowledge/time-travel-debugging/> .

<https://comcomponent.com/knowledge/ttd-index-file/> a skos:Concept ;
    skos:prefLabel "TTDインデックスファイル(.idx)"@ja ;
    skos:definition "WinDbgがTTDトレースを効率よく再生・メモリ照会するための補助データ。トレースの1〜2倍の大きさで、.runを開くと自動生成される。"@ja ;
    skos:altLabel ".idx" ;
    skos:altLabel "インデックスファイル"@ja ;
    skos:broader <https://comcomponent.com/knowledge/time-travel-debugging/> .

<https://comcomponent.com/knowledge/ttd-exe/> a skos:Concept ;
    skos:prefLabel "TTD.exe(コマンドライン録画ツール)"@ja ;
    skos:definition "WinDbgを入れずにTTDトレースを録画するためのコマンドラインツール。launch・attach・monitorの3モードと、録画範囲を絞るオプションを持つ。"@ja ;
    skos:altLabel "TTD.exe" ;
    skos:altLabel "ttd.exe" ;
    skos:broader <https://comcomponent.com/knowledge/time-travel-debugging/> ;
    ks:implements <https://comcomponent.com/knowledge/ttd-recording/> ;
    ks:configuredBy <https://comcomponent.com/knowledge/ttd-ring-buffer/> ;
    ks:configuredBy <https://comcomponent.com/knowledge/ttd-module-filter/> ;
    ks:configuredBy <https://comcomponent.com/knowledge/ttd-manual-record-mode/> ;
    ks:configuredBy <https://comcomponent.com/knowledge/ttd-monitor-mode/> .

<https://comcomponent.com/knowledge/ttd-position/> a skos:Concept ;
    skos:prefLabel "TTDの位置(position)"@ja ;
    skos:definition "TTDトレース内の時刻を表す、シーケンシング番号とステップ数の16進数2組(xx:yy)。!ttやSeekTo()で移動し、ToSystemTime()でおおよその実時刻に変換できる。"@ja ;
    skos:altLabel "Time Travel Position" ;
    skos:altLabel "トレース内の位置"@ja ;
    skos:broader <https://comcomponent.com/knowledge/time-travel-debugging/> .

<https://comcomponent.com/knowledge/ttd-recording-overhead/> a skos:Concept ;
    skos:prefLabel "TTD録画のオーバーヘッド"@ja ;
    skos:definition "TTDで録画中の対象プロセスが被る性能影響。アプリと録画オプションによって5〜20倍以上遅くなる。"@ja ;
    skos:altLabel "録画中の速度低下"@ja ;
    skos:broader <https://comcomponent.com/knowledge/time-travel-debugging/> .

<https://comcomponent.com/knowledge/ttd-trace-growth/> a skos:Concept ;
    skos:prefLabel "TTDトレースの肥大化"@ja ;
    skos:definition "TTDトレースが録画中に毎秒5〜50MB成長し、上限無くディスクを消費すること。ディスクが尽きると録画は静かに待ち、不完全なトレースになる。"@ja ;
    skos:altLabel "トレースファイルの成長"@ja ;
    skos:broader <https://comcomponent.com/knowledge/time-travel-debugging/> .

<https://comcomponent.com/knowledge/ttd-ring-buffer/> a skos:Concept ;
    skos:prefLabel "TTDのリングバッファ録画(-ring / -maxFile)"@ja ;
    skos:definition "TTD.exeのオプション。トレースを指定サイズのリングバッファに書き、その大きさに収まる録画の最後の部分だけを残す。"@ja ;
    skos:altLabel "-ring" ;
    skos:altLabel "-maxFile" ;
    skos:altLabel "リングバッファ録画"@ja ;
    skos:broader <https://comcomponent.com/knowledge/ttd-exe/> ;
    ks:mitigates <https://comcomponent.com/knowledge/ttd-trace-growth/> .

<https://comcomponent.com/knowledge/ttd-module-filter/> a skos:Concept ;
    skos:prefLabel "TTDのモジュール限定録画(-module)"@ja ;
    skos:definition "TTD.exeのオプション。指定したモジュールとそれが呼び出すコードだけを録画し、それ以外の実行はフルスピードで走らせる。"@ja ;
    skos:altLabel "-module" ;
    skos:altLabel "モジュール限定録画"@ja ;
    skos:broader <https://comcomponent.com/knowledge/ttd-exe/> ;
    ks:mitigates <https://comcomponent.com/knowledge/ttd-recording-overhead/> ;
    ks:mitigates <https://comcomponent.com/knowledge/ttd-trace-growth/> .

<https://comcomponent.com/knowledge/ttd-manual-record-mode/> a skos:Concept ;
    skos:prefLabel "TTDの手動録画(-recordmode Manual)"@ja ;
    skos:definition "TTD.exeのオプション。プログラムがTTDのインプロセス録画APIを呼んだときだけ録画し、それまではフルスピードで走らせる。"@ja ;
    skos:altLabel "-recordmode Manual" ;
    skos:altLabel "インプロセス録画API"@ja ;
    skos:broader <https://comcomponent.com/knowledge/ttd-exe/> ;
    ks:mitigates <https://comcomponent.com/knowledge/ttd-recording-overhead/> .

<https://comcomponent.com/knowledge/ttd-monitor-mode/> a skos:Concept ;
    skos:prefLabel "TTDの監視モード(-monitor)"@ja ;
    skos:definition "TTD.exeのモード。指定したプログラムが起動するたびに、通常の権限のまま録画する。断続的な問題や起動時の問題を捕まえる用途。"@ja ;
    skos:altLabel "-monitor" ;
    skos:altLabel "監視モード"@ja ;
    skos:broader <https://comcomponent.com/knowledge/ttd-exe/> .

<https://comcomponent.com/knowledge/long-run-crash-investigation/> a skos:Concept ;
    skos:prefLabel "長時間運転後クラッシュの切り分け"@ja ;
    skos:definition "数日〜数週間の連続稼働後にだけ発生する障害を、資源の増え方と失敗経路の観測から原因究明する調査手法。"@ja ;
    skos:altLabel "Long-Run Crash Investigation" .

<https://comcomponent.com/knowledge/intermittent-failure/> a skos:Concept ;
    skos:prefLabel "断続的・再現しない不具合"@ja ;
    skos:definition "発生条件が分からず、手元で再現できない不具合。起動のたびや長期稼働中にまれに起きるものを含む。"@ja ;
    skos:altLabel "再現しない不具合"@ja ;
    skos:altLabel "間欠的な不具合"@ja ;
    skos:altLabel "intermittent issue" .

<https://comcomponent.com/knowledge/exception/> a skos:Concept ;
    skos:prefLabel "例外(exception)"@ja ;
    skos:definition "プロセス内で発生したハードウェア例外(アクセス違反など)またはソフトウェア例外。アプリが後で処理したかどうかは問わない。"@ja ;
    skos:altLabel "ハードウェア例外"@ja ;
    skos:altLabel "ソフトウェア例外"@ja ;
    skos:altLabel "SEH例外"@ja ;
    ks:verifiedBy <https://comcomponent.com/knowledge/ttd-events-query/> .

<https://comcomponent.com/knowledge/ttd-events-query/> a skos:Concept ;
    skos:prefLabel "TTD.Events(イベント一覧)"@ja ;
    skos:definition "TTDトレース内のスレッド作成・終了、モジュールのロード・アンロード、例外をイベントとして列挙するデータモデルのコレクション。例外の位置へ移動する入口になる。"@ja ;
    skos:altLabel "@$curprocess.TTD.Events" ;
    skos:altLabel "TTDのイベントオブジェクト"@ja ;
    skos:broader <https://comcomponent.com/knowledge/time-travel-debugging/> .

<https://comcomponent.com/knowledge/data-corruption/> a skos:Concept ;
    skos:prefLabel "データ破壊(不正な値の書き込み)"@ja ;
    skos:definition "変数や構造体が本来あり得ない値に書き換えられる不具合。ダンプには壊れた値だけが写り、書いた主体は写らない。"@ja ;
    skos:altLabel "不正な値"@ja ;
    skos:altLabel "値の破壊"@ja ;
    skos:altLabel "メモリの上書き"@ja ;
    ks:verifiedBy <https://comcomponent.com/knowledge/ttd-memory-query/> .

<https://comcomponent.com/knowledge/ttd-memory-query/> a skos:Concept ;
    skos:prefLabel "TTD.Memoryクエリ"@ja ;
    skos:definition "指定したアドレス範囲への読み・書き・実行アクセスをTTDトレース全体から集めるクエリ。その値を最後に書いた位置を特定できる。"@ja ;
    skos:altLabel "@$cursession.TTD.Memory" ;
    skos:altLabel "TTDのMemoryオブジェクト"@ja ;
    skos:broader <https://comcomponent.com/knowledge/time-travel-debugging/> .

<https://comcomponent.com/knowledge/reverse-execution/> a skos:Concept ;
    skos:prefLabel "逆方向実行(g- / p- / t-)"@ja ;
    skos:definition "TTDトレース上で時間を逆向きに進めるWinDbgのコマンド。g-はブレークポイントかイベントかトレース先頭まで、p-とt-は1命令ずつ戻る。"@ja ;
    skos:altLabel "g-" ;
    skos:altLabel "p-" ;
    skos:altLabel "t-" ;
    skos:altLabel "Go Back" ;
    skos:altLabel "Step Back" ;
    skos:broader <https://comcomponent.com/knowledge/time-travel-debugging/> .

<https://comcomponent.com/knowledge/break-on-access/> a skos:Concept ;
    skos:prefLabel "アクセスブレークポイント(ba)"@ja ;
    skos:definition "指定したアドレスへの読み・書き・実行アクセスで止まるWinDbgのブレークポイント。TTDでは逆方向実行と組み合わせて、値を最後に書いた位置まで戻るのに使う。"@ja ;
    skos:altLabel "ba" ;
    skos:altLabel "Break on Access" ;
    skos:altLabel "メモリアクセスブレークポイント"@ja ;
    ks:shouldPrecede <https://comcomponent.com/knowledge/reverse-execution/> .

<https://comcomponent.com/knowledge/private-symbols/> a skos:Concept ;
    skos:prefLabel "private symbols"@ja ;
    skos:definition "ローカル変数・型・引数などを含む、完全に近い内部情報を持つシンボル情報。"@ja ;
    ks:recommendedFor <https://comcomponent.com/knowledge/ttd-calls-query/> .

<https://comcomponent.com/knowledge/ttd-calls-query/> a skos:Concept ;
    skos:prefLabel "TTD.Callsクエリ"@ja ;
    skos:definition "指定した関数の呼び出しをTTDトレース全体から集め、位置・スレッド・引数・戻り値・実時刻でLINQ風に絞り込み・集計できるクエリ。PDBのシンボル情報を前提とする。"@ja ;
    skos:altLabel "@$cursession.TTD.Calls" ;
    skos:altLabel "TTDのCallsオブジェクト"@ja ;
    skos:broader <https://comcomponent.com/knowledge/time-travel-debugging/> .

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

<https://comcomponent.com/knowledge/application-hang/> a skos:Concept ;
    skos:prefLabel "アプリケーションのハング(応答なし)"@ja ;
    skos:definition "ウィンドウが応答なしになり、UIスレッドなどが何らかの待機から戻らない状態である。"@ja ;
    skos:altLabel "ハング"@ja ;
    skos:altLabel "応答なし"@ja .

<https://comcomponent.com/knowledge/information-leakage/> a skos:Concept ;
    skos:prefLabel "情報漏えい"@ja ;
    skos:definition "本来外部に出るべきでない情報が組織の外へ流出すること。"@ja ;
    skos:altLabel "Information Leakage" .

<https://comcomponent.com/knowledge/protected-process-light/> a skos:Concept ;
    skos:prefLabel "保護されたプロセス(PPL)"@ja ;
    skos:definition "Windowsが改変や注入から保護するプロセスの種類。TTDは自分を注入できないため録画できない。"@ja ;
    skos:altLabel "PPL" ;
    skos:altLabel "Protected Process Light" ;
    skos:altLabel "保護プロセス"@ja .

<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" ;
    ks:notRecommendedFor <https://comcomponent.com/knowledge/ttd-recording/> .

<https://comcomponent.com/knowledge/dump-analysis/> a skos:Concept ;
    skos:prefLabel "ダンプ解析"@ja ;
    skos:definition "クラッシュやハングなどで取得したプロセスのダンプファイルから、スタックや変数、型を人間が読める名前やソース行に変換して調べる作業。"@ja ;
    ks:shouldPrecede <https://comcomponent.com/knowledge/time-travel-debugging/> .

<https://comcomponent.com/knowledge/sos-extension/> a skos:Concept ;
    skos:prefLabel "SOS拡張"@ja ;
    skos:definition "マネージドヒープの情報収集、ヒープ破損の検出、ランタイム内部データ型の表示など、CLRの内部をデバッガー上から読むためのデバッガー拡張である。"@ja ;
    skos:altLabel "Son of Strike" ;
    skos:altLabel "sos.dll" ;
    skos:broader <https://comcomponent.com/knowledge/windbg/> .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/time-travel-debugging/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/windbg/> ;
    schema:description "TTDはWinDbgに統合されており、トレースの再生(位置の移動、逆方向の実行、イベントとクエリ)はWinDbgで行う。録画もWinDbgのUIから行える。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-overview> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/time-travel-debugging/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/ttd-recording/> ;
    schema:description "TTDは、対象プロセスの命令実行を録画する操作と、その記録をWinDbgで前後に再生する操作から成る。録画はWinDbgのUIまたはTTD.exeで行う。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-overview>, <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-record> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ttd-recording/> ;
    rdf:predicate ks:requires ;
    rdf:object <https://comcomponent.com/knowledge/admin-rights/> ;
    schema:description "録画には昇格した権限が必要で、WinDbgは管理者として実行し、TTD.exeは管理者コマンドプロンプトから実行する。既存のトレースを開いて再生するだけなら昇格は要らない。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-overview>, <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-ttd-exe-command-line-util> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ttd-recording/> ;
    rdf:predicate ks:storedIn ;
    rdf:object <https://comcomponent.com/knowledge/ttd-trace-file/> ;
    schema:description "録画で記録した命令実行は.runトレースファイルに保存される。共有するのはこの.runだけで足りる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-overview>, <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-ttd-exe-command-line-util> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/windbg/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/ttd-index-file/> ;
    schema:description "WinDbgはトレースを効率よく再生・メモリ照会するために.idxインデックスファイルを使う。録画停止時に作られ、.runを開いたときにも自動生成され、!index -statusで状態を確認し!index -forceで作り直せる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-overview>, <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-troubleshooting> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ttd-exe/> ;
    rdf:predicate ks:implements ;
    rdf:object <https://comcomponent.com/knowledge/ttd-recording/> ;
    schema:description "TTD.exeはWinDbgを入れないPCでの録画や自動化のためのコマンドライン録画ツールで、launch・attach・monitorの3モードでTTDの録画を行う。再生はWinDbgで行う。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-ttd-exe-command-line-util> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/time-travel-debugging/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/ttd-position/> ;
    schema:description "トレース内の時刻はシーケンシング番号とステップ数の16進数2組で表す位置で扱い、!ttやSeekTo()で移動し、ToSystemTime()でおおよその実時刻に変換してログの時刻と突き合わせられる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-extension-tt>, <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-position-objects> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ttd-recording/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/ttd-recording-overhead/> ;
    schema:description "録画中の対象プロセスは、アプリと録画オプションによって5〜20倍以上遅くなる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-ttd-exe-command-line-util>, <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-overview#things-to-look-out-for> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ttd-recording/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/ttd-trace-growth/> ;
    schema:description "トレースは活動中に毎秒5〜50MB成長し、数分で数GBになり得て、最大サイズの上限は無い。ディスクが尽きると録画は静かに待ち、不完全なトレースになる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-trace-file-information> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ttd-exe/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/ttd-ring-buffer/> ;
    schema:description "-ringと-maxFileで、トレースを指定サイズのリングバッファに書き、録画の最後の部分だけを残すように構成できる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-ttd-exe-command-line-util> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ttd-exe/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/ttd-module-filter/> ;
    schema:description "-moduleで、指定したモジュールとそれが呼び出すコードだけを録画し、それ以外はフルスピードで走らせるように構成できる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-ttd-exe-command-line-util> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ttd-exe/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/ttd-manual-record-mode/> ;
    schema:description "-recordmode Manualで、プログラムがインプロセス録画APIを呼んだときだけ録画するように構成できる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-ttd-exe-command-line-util> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ttd-exe/> ;
    rdf:predicate ks:configuredBy ;
    rdf:object <https://comcomponent.com/knowledge/ttd-monitor-mode/> ;
    schema:description "-monitorで、指定したプログラムが起動するたびに通常の権限のまま録画するように構成でき、-cmdLineFilterでコマンドラインにより対象を絞れる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-ttd-exe-command-line-util> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ttd-ring-buffer/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/ttd-trace-growth/> ;
    schema:description "リングバッファ録画ではファイルが-maxFileの上限を超えて成長せず、その大きさに収まる直近の録画だけが残る。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-ttd-exe-command-line-util> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ttd-module-filter/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/ttd-recording-overhead/> ;
    schema:description "モジュール限定録画では指定モジュール外の実行がフルスピードで走るため、録画のオーバーヘッドが大きく減る。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-ttd-exe-command-line-util> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ttd-module-filter/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/ttd-trace-growth/> ;
    schema:description "モジュール限定録画では指定モジュール外の命令が記録されないため、トレースファイルのサイズが大きく減る。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-ttd-exe-command-line-util> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ttd-manual-record-mode/> ;
    rdf:predicate ks:mitigates ;
    rdf:object <https://comcomponent.com/knowledge/ttd-recording-overhead/> ;
    schema:description "手動録画ではアプリがAPIで録画を始めるまでフルスピードで走るため、異常の予兆がある区間だけ録れば録画のオーバーヘッドとトレースサイズを抑えられる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-ttd-exe-command-line-util>, <https://github.com/microsoft/WinDbg-Samples/tree/master/TTD/docs> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ttd-ring-buffer/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/long-run-crash-investigation/> ;
    schema:description "いつ起きるか分からない長期稼働の不具合では、動いているプロセスにリングバッファで付き、監視が症状を検知したら-stopで録画を止めて直近の区間だけを残す設計を本記事は勧める。バッファは検知から停止までのラグを吸収できる大きさにし、停止後もTTDは外れないので再起動まで運用に含める。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-ttd-exe-command-line-util>, <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-trace-file-information> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ttd-monitor-mode/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/intermittent-failure/> ;
    schema:description "起動直後や特定の起動でだけ出る断続的な不具合には、起動のたびに録画する監視モードを本記事は勧める。公式の使い分け表でも監視モードは断続的な問題や起動時の問題を捕まえる用途とされる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-ttd-exe-command-line-util> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/time-travel-debugging/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/intermittent-failure/> ;
    schema:description "再現しない・断続的な不具合でダンプが結果しか示さないとき、録画範囲を設計したうえでTTDで経路を残すことを本記事は勧める。録画のオーバーヘッドと肥大化があるため、無条件の常時録画は勧めない。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-overview>, <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-ttd-exe-command-line-util> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/exception/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/ttd-events-query/> ;
    schema:description "@$curprocess.TTD.EventsのExceptionイベントに例外の位置・種類(Software/Hardware)・コード・プログラムカウンターが入り、[Time Travel]リンクでその位置へ移動できる。イベントはアプリが後で処理した例外も含み、処理されたかどうかは区別しない。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-event-objects>, <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-exception-objects> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/data-corruption/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/ttd-memory-query/> ;
    schema:description "TTD.Memoryで対象アドレス範囲への書き込みアクセスを集め、.Last()の位置へ移動すれば、その値を最後に書いた命令が分かる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-memory-objects>, <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-walkthrough> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/data-corruption/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/reverse-execution/> ;
    schema:description "壊れた値のアドレスにアクセスブレークポイントを置いてg-で逆方向に実行すると、その変数が最後に書かれた位置で止まり、値が別の変数由来なら同じ手順を繰り返して壊した命令まで遡れる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-walkthrough>, <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-navigation-commands> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/break-on-access/> ;
    rdf:predicate ks:shouldPrecede ;
    rdf:object <https://comcomponent.com/knowledge/reverse-execution/> ;
    schema:description "g-を止めるイベントは順方向のgと同じなので、baでアクセスブレークポイントを置いてからg-を打つ順序で、条件が最後に成立した位置まで一気に戻れる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-replay>, <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-walkthrough> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/private-symbols/> ;
    rdf:predicate ks:recommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/ttd-calls-query/> ;
    schema:description "TTD.CallsはPDBのシンボル情報から引数の数と型・戻り値の型・呼び出し規約を決める。public symbolsだけでも関数名と既定の4つの64ビット整数引数で問い合わせでき、シンボルが無ければ関数名がUnknownOrMissingSymbolsになるが動く。正しい引数と戻り値を読むには、公式ドキュメントも本記事もprivate symbols(完全なPDB)を勧める。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-calls-objects>, <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-object-model> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/handle-leak/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/ttd-calls-query/> ;
    schema:description "自社DLLに限定して録ったトレースでCreateFileWとCloseHandleの呼び出しを集め、CreateFileWの戻り値(ハンドル値)とCloseHandleの第1引数(Parameters[0])を突き合わせると、閉じられていないハンドル値が残る。そのCreateFileW呼び出しのReturnAddressで漏らしている呼び出し元が分かる。リークの有無と量の観測は別の軽い道具が向く。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-calls-objects> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/application-hang/> ;
    rdf:predicate ks:verifiedBy ;
    rdf:object <https://comcomponent.com/knowledge/ttd-calls-query/> ;
    schema:description "待機APIの呼び出しをTTD.Callsで集め、SystemTimeStart / SystemTimeEndと!positionsの各スレッドの位置から、どのスレッドがいつ何を待ち始めたかを並べて待ちの連鎖を組み立てられる。アイドル中はトレースが成長しないため、待ち時間そのものは命令として写らない。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-calls-objects>, <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-extension-positions>, <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-trace-file-information> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ttd-trace-file/> ;
    rdf:predicate ks:mayCause ;
    rdf:object <https://comcomponent.com/knowledge/information-leakage/> ;
    schema:description "トレースにはプロセスのメモリ内容が含まれ、ファイルパス・レジストリ・メモリやファイルの中身など個人情報や秘密情報が入り得るため、共有と保管を機密ファイルとして設計しないと情報漏えいにつながる。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-overview>, <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-ttd-exe-command-line-util> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "context-dependent" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/ttd-recording/> ;
    rdf:predicate ks:incompatibleWith ;
    rdf:object <https://comcomponent.com/knowledge/protected-process-light/> ;
    schema:description "Protected Process Light(PPL)などWindowsの保護プロセスにはTTDが自分を注入できず、録画できない。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-overview#things-to-look-out-for> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/application-verifier/> ;
    rdf:predicate ks:notRecommendedFor ;
    rdf:object <https://comcomponent.com/knowledge/ttd-recording/> ;
    schema:description "Application Verifierを有効にしたまま録画すると、そのメモリの使い方の関係で再生時の性能が目立って悪くなるため、録画時は無効にする。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-troubleshooting> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/dump-analysis/> ;
    rdf:predicate ks:shouldPrecede ;
    rdf:object <https://comcomponent.com/knowledge/time-travel-debugging/> ;
    schema:description "採取コストがほぼゼロのダンプとログで状態を掴み、経路が要ると分かった案件にだけ録画範囲を設計してTTDを出す順序を本記事は勧める。TTDのオーバーヘッドとトレースが機密情報を含む性質から、逆の順序を取る理由は無い。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-overview> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "established" .

[] a rdf:Statement ;
    rdf:subject <https://comcomponent.com/knowledge/time-travel-debugging/> ;
    rdf:predicate ks:uses ;
    rdf:object <https://comcomponent.com/knowledge/sos-extension/> ;
    schema:description "64ビットモードで動くSOS拡張をWinDbgのTTDトレース上で使ってマネージドコードをデバッグでき、例外イベントの位置へ移動してから!clrstackや!peでマネージドの状態を読める。"@ja ;
    ks:evidence <https://learn.microsoft.com/windows-hardware/drivers/debuggercmds/time-travel-debugging-overview> ;
    ks:verifiedAt "2026-09-02" ;
    ks:certainty "context-dependent" .
