プログラムの実行履歴を記録したトレース・データの表示を行います(「2.11 実行履歴の収集」参照)。
トレース・データは,デフォルトで逆アセンブル・テキストとソース・テキストを混合して表示しますが,表示モードを選択することにより,そのどちらか一方のみを表示させることもできます。
プログラムの実行停止後,最新のトレース・データが表示されるよう表示位置を自動更新します。
なお,このパネルは,デバッグ・ツールと接続時のみオープンすることができます。
注意 1. | 【E1】【E20】【EZ Emulator】【COM Port】
選択しているマイクロコントローラがOCDトレース機能搭載品の場合のみ,トレース機能をサポートします。
OCDトレース機能の詳細については,「表 2.11 OCDトレース機能の動作仕様」を参照してください。 |
注意 2. | 【シミュレータ】
フェッチ可能なコード・フラッシュ領域(コード・フラッシュ領域が0x0~0x1FFFFの場合,0x1FFFC~0x1FFFF が該当)やRAM領域などの最終アドレスの4バイトはフェッチできません(「ノン・マップ領域へのアクセスにより停止しました。」のメッセージが表示されます)。 |
備考 1. | ツールバーの
,または[Ctrl]キーを押下しながらマウス・ホイールを前後方に動かすことにより,本パネルの表示を拡大/縮小することができます。 |
備考 2. | パネル上の各エリアの区切り線をダブルクリックすることにより,該当エリアの内容を省略することなく表示可能な最小幅に変更することができます。 |
ここでは,次の項目について説明します。
[オープン方法]
- | エディタ パネル/逆アセンブル パネルにおいて,コンテキスト・メニューの[トレース設定]→[トレース結果の表示]を選択 |
[各エリアの説明]
トレース・フレームに対応するトレース番号を表示します。
(2) | [時間(h:min:s,ms,μs,ns)]エリア【IECUBE】【シミュレータ】 |
プログラムの実行開始から,各フレームの命令実行,またはメモリ・アクセスの要因が発生するまでに要した時間を“時間,分,秒,ミリ秒,マイクロ秒,ナノ秒”の単位で表示します。
なお,オーバフローした場合,このエリアは無効色(グレー)で表示されます。
アセンブル命令のアドレス,またはソース・ファイルの行番号を表示します。
表示進数や文字列のエンコードは,ツールバーのボタン,またはコンテキスト・メニューより選択することができます。
表示形式は次のとおりです。
|
|
命令(逆アセンブル)
|
<アドレス>
|
ソース・テキスト
|
<ファイル名>#<行番号>
|
上記以外
|
|
備考 | 次の実行履歴を表示しないため,行番号は連番にはなりません。 |
収集したトレース・データを次のように表示します。
なお,表示モードの選択により,このエリアに表示される項目は異なります(「(a) 表示モード」参照)。
図 A.16 | [ソース/逆アセンブル]エリアの表示内容(デフォルト) |
ラベル名
|
アドレスにラベルが定義されている場合は,ラベル名を表示します。
|
オフセット値
|
アドレスにラベルが定義されていない場合は,一番近いラベルからのオフセット値を表示します。
|
ソース・テキスト
|
混合表示モード/ソース表示モードを選択している場合,対応するソース・テキストを表示します。
ただし,デバッグ情報が存在しない箇所を実行した場合は,“デバッグ情報なし”と表示します。
【IECUBE】【シミュレータ】
ソース行の実行時にアクセスされた変数注1/SFRの値が解析可能な場合は,その値をソース行に続き次の形式で表示します。
例:a=b; <<<a=5>>>
また,ポイント・トレースの結果を表示する場合も同様の形式で表示します。
|
命令(逆アセンブル結果)
|
混合表示モード/逆アセンブル表示モードを選択している場合,対応する命令(逆アセンブル結果)を表示します注2。ニモニックは強調表示されます。
|
ブレーク要因
【IECUBE】【シミュレータ】
|
プログラムがブレークした要因を表示します。
|
リセット要因
【IECUBE】
|
CPUリセットが発生した要因を表示します。
|
注 1. | 【IECUBE】【シミュレータ】
メモリへのアクセスが発生した場合,対象アドレスにシンボルが割り当たっている場合にかぎり,該当シンボルを変数とみなして表示します。
ただし,2バイトまでの変数が対象となります。
なお,乗算などの記述が,標準ライブラリで処理されている場合,標準ライブラリで使用しているSADDR領域のラベルが表示される場合があります。 |
注 2. | トレース・データの取りこぼしがあった場合は,“(LOST)”を表示し,該当行全体をエラー色で表示します(エラー色はオプション ダイアログにおける[全般 - フォントと色]カテゴリの設定に依存します)。 |
このエリアは,次の機能を備えています。
ツールバーのボタン,またはコンテキスト・メニューの選択により,次の3つの表示モードを選択することができます。
|
|
混合表示モード
|
命令(逆アセンブル)/ラベル名/ソース・テキスト(対応するソース行)/ポイント・トレース結果/ブレーク要因/リセット要因【IECUBE】を表示します(デフォルト)。
|
逆アセンブル表示モード
|
命令(逆アセンブル)/ラベル名/ポイント・トレース結果/ブレーク要因/リセット要因【IECUBE】を表示します。
|
ソース表示モード
|
ソース・テキスト(対応するソース行)/ブレーク要因/リセット要因【IECUBE】を表示します。
ただし,デバッグ情報が存在しない箇所を実行した場合は,“デバッグ情報なし”と表示します。
|
コンテキスト・メニューの[ソースへジャンプ]を選択することにより,現在のキャレット位置の行に対応するソース行にキャレットを移動した状態でエディタ パネルがオープンします(すでにオープンしている場合は,エディタ パネルにジャンプ)。
また,同様に[逆アセンブルへジャンプ]を選択することにより,現在のキャレット位置の行のフェッチ・アドレスにキャレットを移動した状態で逆アセンブル パネル(逆アセンブル1)がオープンします(すでにオープンしている場合は,逆アセンブル パネル(逆アセンブル1)にジャンプ)。
ツールバーの
/
ボタン,またはコンテキスト・メニューの[ウインドウ連動]→[ソースと連動]/[逆アセンブルと連動]を選択することにより,このパネル上のキャレット位置のアドレスをポインタとして,エディタ パネル/逆アセンブル パネルで対応箇所を連動して表示させることができます(フォーカスの移動は行いません)。
マウス・カーソルを行に重ねることにより,その行に対応するすべてのエリア(項目)のデータを縦並びにポップアップ表示します。
[ファイル]メニュー→[名前を付けてトレース・データを保存...]を選択することにより,データ保存 ダイアログをオープンし,このパネルの内容をテキスト・ファイル(*.txt)/CSVファイル(*.csv)に保存することができます。
トレース・データの保存方法についての詳細は,「2.11.9 実行履歴の表示内容を保存する」を参照してください。
(5) | [アドレス]エリア【IECUBE】【シミュレータ】 |
メモリ・アクセスの対象アドレスを表示します。
ただし,SFRへのアクセスの場合は,アドレスの代わりにSFR名を表示します(アクセスが複数ある場合は次の行に表示)。
表示進数は,ツールバーのボタン,またはコンテキスト・メニューより選択することができます。
(6) | [データ]エリア【IECUBE】【シミュレータ】 |
アクセスしたデータ値,およびその際のアクセス種別を表示します。
ただし,CPUレジスタ・アクセスは表示しません。
表示進数や文字列のエンコードは,ツールバーのボタン,またはコンテキスト・メニューより選択することができます。
データ値,およびアクセス種別の表示形式は次のとおりです(表示の際の文字色/背景色はオプション ダイアログにおける[全般 - フォントと色]カテゴリの設定に依存します)。
|
|
|
文字色
|
標準色
|
リード・アクセス
|
背景色
|
薄緑
|
|
文字色
|
標準色
|
ライト・アクセス
|
背景色
|
オレンジ
|
|
文字色
|
標準色
|
リードとライト・アクセス
|
背景色
|
薄青
|
|
文字色
|
標準色
|
ベクタ・リード・アクセス
|
背景色
|
薄緑
|
[ツールバー]
|
デバッグ・ツールから最新の情報を取得し,表示を更新します。
ただし,トレーサ動作中は無効となります。
|
|
トレース・メモリをクリア(初期化)し,このパネルの表示もクリアします。
ただし,トレーサ動作中は無効となります。
|
【IECUBE】
【シミュレータ】
|
トレーサの動作を開始します。
現在,このパネルで表示している内容をクリアします。
ただし,トレーサ動作中は無効となります。
|
【IECUBE】
【シミュレータ】
|
トレーサの動作を停止します。
新たに取得したトレース・データの内容に表示を更新します。
ただし,トレーサ停止中は無効となります。
|
|
トレース検索 ダイアログをオープンします。
|
表記
|
値の表示形式を変更する次のボタンを表示します。
ただし,トレーサ動作中は無効となります。
|
|
16進数
|
このパネル上の値を16進数で表示します(デフォルト)。
|
10進数
|
このパネル上の値を10進数で表示します。
|
8進数
|
このパネル上の値を8進数で表示します。
|
2進数
|
このパネル上の値を2進数で表示します。
|
【IECUBE】
【シミュレータ】
|
選択している行に連動してエディタ パネルをスクロールします。
|
【IECUBE】
【シミュレータ】
|
選択している行に連動して逆アセンブル パネルをスクロールします。
|
【IECUBE】
【シミュレータ】
|
表示モードを混合表示モードにします(デフォルト)。
ただし,トレーサ動作中は無効となります。
|
【IECUBE】
【シミュレータ】
|
表示モードを逆アセンブル表示モードにします。
ただし,トレーサ動作中は無効となります。
|
【IECUBE】
【シミュレータ】
|
表示モードをソース表示モードにします。
ただし,トレーサ動作中は無効となります。
|
[[ファイル]メニュー(トレース パネル専用部分)]
トレース パネル専用の[ファイル]メニューは次のとおりです(その他の項目は共通)。
ただし,プログラム実行中はすべて無効となります。
トレース・データを保存
|
トレース・データの内容を前回保存したテキスト・ファイル(*.txt)/CSVファイル(*.csv)に保存します(「(e) トレース・データの保存」参照)。
なお,起動後に初めてこの項目を選択した場合は,[名前を付けてトレース・データを保存...]の選択と同等の動作となります。
ただし,トレーサ動作中は無効となります。
|
名前を付けてトレース・データを保存...
|
トレース・データの内容を指定したテキスト・ファイル(*.txt)/CSVファイル(*.csv)に保存するために,データ保存 ダイアログをオープンします(「(e) トレース・データの保存」参照)。
ただし,トレーサ動作中は無効となります。
|
[[編集]メニュー(トレース パネル専用部分)]
トレース パネル専用の[編集]メニューは次のとおりです(その他の項目はすべて無効)。
コピー
|
選択している行の内容を文字列としてクリップ・ボードにコピーします(複数行選択不可)。
ただし,トレーサ動作中は無効となります。
|
検索...
|
トレース検索 ダイアログをオープンします。
|
[コンテキスト・メニュー]
トレース・クリア
|
トレース・メモリをクリア(初期化)し,このパネルの表示もクリアします。
ただし,トレーサ動作中は無効となります。
|
トレース開始
【IECUBE】
【シミュレータ】
|
トレーサの動作を開始します。
現在,このパネルで表示している内容をクリアします。
ただし,トレーサ動作中は無効となります。
|
トレース停止
【IECUBE】
【シミュレータ】
|
トレーサの動作を停止します。
新たに取得したトレース・データの内容に表示を更新します。
ただし,トレーサ停止中は無効となります。
|
検索...
|
トレース検索 ダイアログをオープンします。
|
コピー
|
選択している行の内容を文字列としてクリップ・ボードにコピーします(複数行選択不可)。
ただし,トレーサ動作中は無効となります。
|
混合表示
|
表示モードを混合表示モードにします。
ただし,トレーサ動作中は無効となります。
|
逆アセンブル表示
|
表示モードを逆アセンブル表示モードにします。
ただし,トレーサ動作中は無効となります。
|
ソース表示
|
表示モードをソース表示モードにします。
ただし,トレーサ動作中は無効となります。
|
表記
|
表示進数を指定するために,次のカスケード・メニューを表示します。
ただし,トレーサ動作中は無効となります。
|
|
16進数
|
このパネル上の値を16進数で表示します(デフォルト)。
|
10進数
|
このパネル上の値を10進数で表示します。
|
8進数
|
このパネル上の値を8進数で表示します。
|
2進数
|
このパネル上の値を2進数で表示します。
|
ウインドウ連動
【IECUBE】【シミュレータ】
|
他のパネルとの連動を行うために,次のカスケード・メニューを表示します。
|
|
ソースと連動
|
キャレット位置の行に連動してエディタ パネルをスクロールします。
|
逆アセンブルと連動
|
キャレット位置の行に連動して逆アセンブル パネルをスクロールします。
|
逆アセンブルへジャンプ
【IECUBE】
【シミュレータ】
|
キャレット位置の行のフェッチ・アドレスにキャレットを移動した状態で,逆アセンブル パネル(逆アセンブル1)がオープンします。
|
ソースへジャンプ
【IECUBE】
【シミュレータ】
|
キャレット位置の行に対応するソース行にキャレットを移動した状態で,エディタ パネルがオープンします。
|
メモリへジャンプ
【IECUBE】
【シミュレータ】
|
キャレット位置の行に対応するメモリ値にキャレットを移動した状態で,メモリ パネルがオープンします。
|