IDNA トレースの取得 (Attach)

プログラムの問題を実際の実行履歴 (プログラムトレース) から解析する際に利用する IDNA トレースの採取手順です。
既に実行済みのプロセスについてのトレースを採取します。

トレース採取用ツールの入手方法について

トレース採取用ツールにつきましては、サポート ケースを介しまして担当エンジニアからご案内します。

実行するトレース プログラムについて

解析対象のプロセスによって、32 bit 版のトレース プログラムを利用するか、64 bit 版のトレース プログラムを利用するかが異なります。どちらを実行すればよいかは、担当のエンジニアからご案内します。

解析対象のプロセス名について

解析対象のプロセス名については別途担当エンジニアよりご案内します。解析対象によっては、プロセス名からプロセス ID の特定が出来ないため、解析対象のモジュールを読み込んでいるプロセスからプロセス ID を特定します。

採取準備

以下では 各プログラムの格納先を 便宜上 C ドライブとしておりますが、お客様の環境に応じて他のドライブに配置しても問題なく動作いたします。

  1. C:\debuggers というフォルダーを作成し、さらにサブフォルダである C:\debuggers\ttt を作成します。
  2. 担当エンジニアよりご案内したトレース プログラム適当な箇所に展開ください。
  3. 解析対象が 32 bit の場合は 展開した内容の x86\TTD フォルダ内の全ファイルを C:\debuggers\ttt にコピーします。
    解析対象が 64 bit の場合は 展開した内容の x64\TTD フォルダ内の全ファイルを C:\debuggers\ttt にコピーします。
  4. トレース ログの採取のため、C:\traceout フォルダを作成しておきます。

採取手順

  1. 解析対象のプロセス ID を確認します。 プロセス名から特定する場合、Powershell を 開き、以下のコマンドレットで解析対象のプロセスの PID を確認します。
1
Get-Process [解析対象のプロセス名]

smsexec の例

もしくは、解析対象のモジュールを読み込んでいる プロセスを調査するため、コマンドプロンプトを開き、以下のコマンドを実行します。

1
tasklist -m [解析対象のモジュール名]

smsprov.dll の例

  1. コマンド プロンプトを [管理者として実行] を選択して起動し、以下のコマンドを実行して初期化します。
1
2
cd C:\debuggers\ttt
TTTracer -initialize

TTTracer -initialize

  1. 先に確認したプロセス ID で以下を実行します。
1
TTTracer.exe -dumpFull -attach <PID> -out C:\traceout

例) プロセスID が 10964 の場合

1
TTTracer.exe -dumpFull -attach 10964 -out C:\traceout

TTTracer -attach

※「Have you read and do you accept the EULA? Y/N」とEULA の同意を求められる場合は、EULA.txt をご確認の上、同意いただける場合に Y を押下して下さい。

※既定では C:\Debuggers\ttt 配下にログが出力されるため、これを変更する場合には -out オプションにてトレース ファイル セットの保存先パスを指定しています。
(上記では、C:\traceout を保存先として指定した例となります。)

  1. 事象を再現させます。

  2. 事象の再現を確認した後、デスクトップ上の左上に表示された小さいウインドウで [Tracing on] のチェック ボックスを解除してトレースの取得を終了します。

checkbox

  1. コマンド プロンプト上の画面も更新されます。

TTTracer -attach

  1. コマンド プロンプトから以下を実行し トレースの設定を解除します。
1
TTTRACER -delete "all"

TTTracer -delete

  1. 手順 2. で指定した保存先のパスにあるトレース ファイル セット (.out ファイルと .run ファイル) を取得してください。