2022/4/7
製品
カテゴリー
タグ
1909 Views
ドライバ対応方式による設定方法
「ドライバ対応方式」は、通常の通過情報出力のテストポイントにイベントIDを格納して出力する形式です。
その他の方式のように、専用のテストポイントを挿入する必要はありません。この方式では、高速テストポイント変換ができません。
Contents
サンプルドライバのダウンロード
対応OS | 接続方式 | 言語 | イベントID出力方式 | ダウンロード |
---|---|---|---|---|
Windows | Ethernet | C/C++ | ドライバ対応方式 | ≫ダウンロード |
WindowsOSドライバのカスタマイズ方法
ドライバ関数において、イベントIDを取得するAPIを使用して、通常の通過情報出力のテストポイントにイベントIDを格納して出力します。Windows環境における実装例を説明します。
#define設定
以下のdefineを有効にします。
/*===============================================================*/
/* Macro: DT_ADD_EVENT_INFO */
/* Desc: Please set 1 when you add Event Value to Test Point. */
/*===============================================================*/
define DT_ADD_EVENT_INFO 1
その他の変更
以下の関数に、プロセスやスレッドを取得するAPIを記載します。サンプルドライバでは、スレッドIDを取得するAPI(GetCurrentThreadId)の結果を変数「Event」に格納し1byteごとに格納して出力します。ターゲットの環境に合わせて、Eventの型やAPIの箇所を変更してください。
/*================================================================*/
/* Func: _TP_EventInfoSet */
/* Desc: Please describe the code to set the Event Info. */
/*================================================================*/
#if DT_ADD_EVENT_INFO
DT_INLINE void _TP_EventInfoSet( unsigned char *buff, DT_UINT *count )
{
DWORD Event = GetCurrentThreadId();
buff[0] = Event;
buff[1] = Event >> 8;
buff[2] = Event >> 16;
buff[3] = Event >> 24;
*count += 4;
}
データ取得
イベントID出力ポイントが挿入されたソースコードをコンパイルし、ターゲットを動作させて、DT+Traceでテストレポートを取得します。通常の通過情報出力のテストポイントのデータに格納されて出力されたイベントID値は、通常のレポートデータの「イベントID」欄に表示されます。
解析方法
イベント定義の設定
イベントIDに対し、名称(イベント定義)を付けることが可能です。
イベント定義の設定は任意です。
イベント定義設定は、テストレポートの「イベント定義」欄や、
イベントトレース、プロセス占有率スコープ、関数遷移スコープといった機能に反映され、
イベント遷移の解析をより分かりやすくします。
以下の手順で表示されるダイアログから設定します。
- DT+Traceアプリのメニュー > レポート解析 > イベントトレース > イベント定義 > イベント定義の設定
プロセス解析モードの有効化
この設定を有効にすることで、コアやイベントID毎に解析結果を表示できるようになります。
- DT+Traceアプリのメニュー > ツール > 環境設定を選択。
- 「環境設定」ダイアログで、解析を選択。
- 「プロセス解析モードを有効にする」をチェックON
関数遷移スコープでのデータ解析
以下の手順で、解析結果が表示されます。
- DT+Traceアプリのメニュー > レポート解析 > 関数遷移スコープ
横軸が時間軸で、上部には各コアの動作区間を示すグラフ表示、
縦軸はコア > プロセス(イベントID) > 関数名のツリーが表示され、プロセスや関数単位の状態遷移が確認できます。
マクロ視点からミクロ視点まで、多角的に「見える化」することで、ソフトの動きを把握しやすくします。
さらに関数遷移スコープのグラフ上をダブルクリックすることでテストレポートの該当位置にジャンプしたり、2つのカーソルで時間情報の確認もできます。
プロセス占有率スコープでのデータ解析
- DT+Traceアプリのメニュー > レポート解析 > イベントトレース > プロセス占有率スコープ
- 「解析範囲指定」ダイアログで、解析範囲を指定して、「OK」をクリック。
横軸が時間軸で、各プロセスの占有率を折れ線グラフで表示します。
また、移動させたカーソル部分のタイミングにおける占有時間、占有率、最大・最小時間をリスト表示します。
負荷の高いプロセスを一目で確認できます。
関数遷移スコープと同様に、グラフ上をダブルクリックすることでテストレポートの該当位置にジャンプができます。