「ThreadX」用イベント・トレースツール
「TraceX」は、ホストベースの解析ツールで、リアルタイムシステム・イベントをグラフィカルに表示してシステムの動作を開発者に上手に理解させるツールです。
開発者は標準的なデバッグ・ツールでは見えない範囲で生じる割り込みやコンテキスト切り替えのようなシステム・イベントの発生を、「TraceX」で明確に知ることができます。
これらのイベントを確認・調査し、その発生のタイミングを特定することで予期しない動作を発見し、領域を限定してより詳しく調査することができるようになるので、開発者がプログラミング上の問題を解決する上で大いに役立ちます。
特長
「TraceX」が収集するトレース・データ
「TraceX」は、Express Logic社のリアルタイムOS である「ThreadX」で使用できるように設計されています。「ThreadX」は実行時にシステムとアプリケーションのイベントからターゲットシステム上にデータベースを構築します。
このイベントには、
- スレッドのコンテキスト切り替え
- プリエンプション
- サスペンション
- ターミネーション
- システム割り込み
- アプリケーション特有のイベント
- 全ての「ThreadX」「NetX」「FileX」のAPI コール
が含まれます。
イベントの表示
「TraceX」はホスト上に「ソフトウェア・ロジック・アナライザ」を作ります。
これによりシステム・イベントが一目瞭然になります。ひとたび、イベントログがターゲットメモリからホスト上にアップロードされると、「TraceX」はグラフィカルにイベントを表示できます。
また、開発者は、ダブルクリックで各イベントの情報を素早く確認することができます。

- 垂直軸が各システムコンテキスト( スレッド等) に対応
- 水平軸が時間の流れに対応
- イベントを色分けしたアイコンで発生順に表示
- 各イベントを対応するシステムコンテキストの行に表示
- 発生したイベントをまとめた要約行を表示
- イベントアイコンを選択すると対応するイベント情報を表示
2つのViewモード
各イベントを、発生した順番に固定サイズで連続して表示するシーケンシャルモードと、時間に合わせたサイズで表示しイベント間ティック数の測定が可能なタイムモードがあります。

シーケンシャルモード

タイムモード
ナビゲーション方法の指定
「Next」、「Previous」のナビゲーション・ボタンが、どのような単位で動作するかについて、以下の指定ができます。
- イベント
- コンテキスト
- オブジェクト
- コンテキスト切り替え
- 同じIDのイベント
ズームイン/ズームアウト
イベントの表示をズームイン/ズームアウトして、望みのスケールで確認することができます。
パフォーマンス分析
「TraceX」は、以下のような分析結果を表示することができます。
- CPU占有率
- 実行コンテキストの報告
- スレッド・スタック使用量
- パフォーマンス統計
- 「FileX」と「NetX」の統計
優先度逆転現象の表示が可能
テキスト形式でのRawトレース・ファイル出力が可能
「TraceX」使用の利点
「TraceX」を使えば、複雑なリアルタイムでの相互の動作と競合状況が、標準のデバッグ技術を使うよりはずっと簡単に調査することができます。
競合状況は、システムイベントが確定的に順番づけられていない時に起こるのですが、その順番が適切な動作をおこなう上で大切なのです。
アプリケーションエラーは一般的に識別が難しいのですが、「TraceX」では、このエラーが探しやすく修正も楽になります。競合状況を、割り込みやプリエンプションや他のイベントと同じ様に、視覚的に判断することができるので、アプリ開発を早めることができます。