ファイル書き出しの導入手順
ファイル書き出しでは、ほかの接続と異なりターゲット機器でテスト動作を実行させた後に生成されるDATファイルをFSTraceにインポートして確認する、という手順になります。このページでは、ドライバのカスタマイズから、ターゲット機器を実行してDATファイルをFSTraceにインポートする手順を説明します。
1. ドライバのカスタマイズ
ファイルの生成場所の変更
サンプルドライバでは、実行ファイルと同じ場所にDATファイル(ConvertData.DAT)が生成されるようになっています。必要に応じて、ターゲット機器のリムーバブルメディアなどのパスに変更してください。なお、ファイル名は問いませんが拡張子は必ず”.DAT”となるようにしてください。
時間情報の取得処理の確認
時間情報は、最初にテストポイントを通過したときの時間値を取得しておき、その後のテストポイントでは通過ごとに時間情報を取得して、最初に取得した時間値から差し引いています。ターゲット機器がWindowsやLinuxであればサンプルの処理で問題ありませんが、それ以外のターゲット機器である場合など、必要に応じて時間値を取得するAPIを変更します。
タスクやスレッド情報の付加処理を有効にする(任意)
WindowsやLinuxであれば、サンプルドライバにスレッド情報を取得する処理がすでに実装されています。スレッドの切り替わりなどの可視化を行う場合は、これを有効化する必要がありますので、”DT_ADD_EVENT_INFO”を1にします。特に使用しない場合は0のままで差し支えありません。
割り込み禁止処理を有効にする(任意)
WindowsやLinuxであればサンプルドライバにすでに実装されていますので、”DT_USE_CRITICALSECTION”を1にセットします。割り込み処理にもテストポイントが挿入されている場合は、1にセットしてください。特に使用しない場合は0のままで差し支えありません。
以上の手順でドライバのカスタマイズは完了です。
3. FSTraceでイベントID出力方式の確認と変更
サンプルドライバのイベントID出力方式とFSプロジェクトのイベントID出力方式が異なる場合、
データのフォーマットが異なるため正しくデータ取得ができません。
ドライバファイルの最上部に記載されている方式を確認し、
FSTraceアプリメニューの[ファイル]→[プロジェクト設定]のプロジェクト設定ダイアログから、
イベントID出力方式をドライバファイルのイベントID出力方式に合わせて変更してください。
サンプルドライバでは以下のように書かれています。
- Insert EventID Test Point (イベントID出力ポイント挿入)
- Insert Extended EventID Test Point (拡張イベントID出力ポイント挿入)
- Insert Kernelinfo Test Point (カーネル情報出力ポイント挿入)
- Via the driver (ドライバ対応方式)
4. FSTraceへのDATファイルのインポート
インポートするファイルの読み込み
FSTraceの上部メニュー「ファイル」から「インポート」項目の「「ファイル書き出し」で取得したレポートデータ…」を選択します。以下のような画面が表示されます。
画面上部のボタンから、インポートするファイルを選択してください。なお、複数のファイルを指定した場合はひとつのレポートデータとして扱われます。別々のレポートデータとして扱いたい場合はインポートの操作を別々に行います。
ファイルのインポート方法の設定
DATファイルの時間値や、データの読み込み順を指定します。時間値の単位はドライバファイルと合わせる必要があります。また、FSTraceはファイル内のデータを読み込む際、自動で時間値の順にデータを並び替えたうえでインポートします。これはドライバファイルでリングバッファなどを使用したうえでファイルに出力された場合を考慮しているためです。単純にファイルの先頭からインポートする場合は「DATファイルの先頭データからインポートする」のチェックをONにしてください。
その他の項目はターゲット機器やテストの時刻などに合わせて変更してください。
データフォーマットを設定する
最後に、ドライバの出力フォーマットをFSTraceの設定に反映します。「データフォーマット」ボタンをクリックすると、以下のような画面が表示されます。ひとつのテストポイントのデータ構成を、ドライバをもとに設定します。
OKボタンをクリックすると、インポート画面に戻ります。ここまでの手順でDATファイルのインポートは完了です。インポート画面でOKボタンをクリックすると、レポートデータがプロジェクトに保存されます。