2.13.3.1 トレース開始イベント/トレース終了イベントを設定する

エディタ パネル/逆アセンブル パネルにおいて,トレース・データの収集を開始/終了するイベントを設定します。

(1)

実行系イベントの場合

実行系イベントをトレース開始/終了イベントに設定することにより,任意の箇所でトレース・データの収集を開始/終了させることができます。

実行系イベントをトレース開始イベントとして設定する場合,トレース・データの収集を開始したい行/アドレス注にキャレットを移動したのち,コンテキスト・メニューの[トレース設定]→[トレース開始の設定]を選択します。

トレース開始イベントが,キャレット位置の行/アドレスに対応する先頭アドレスの命令に対して設定されます。

また,実行系イベントをトレース終了イベントとして設定する場合,トレース・データの収集を終了したい行/アドレス注にキャレットを移動したのち,コンテキスト・メニューの[トレース設定]→[トレース終了の設定]を選択します。

トレース終了イベントが,キャレット位置の行/アドレスに対応する先頭アドレスの命令に対して設定されます。

注意

トレース開始イベント/トレース終了イベントは,アドレス表示がない行に設定することはできません。

 

トレース開始イベント/トレース終了イベントが設定されると,設定した行/アドレスのイベント・エリアに次のイベント・マークが表示されます。

表 2.11

トレース開始イベント/トレース終了イベント・マーク(実行系イベント)

種別

イベント・マーク

トレース開始

 

トレース終了

 

図 2.141 実行系イベントを用いたトレース開始イベント/トレース終了イベントの設定例
(逆アセンブル パネルの場合)

(2)

アクセス系イベントの場合

アクセス系イベントをトレース開始/終了イベントに設定することにより,任意の変数,またはI/Oレジスタに対し,指定したアクセスがあった場合にトレース・データの収集を開始/終了させることができます。

また,この際に,アクセスした値を限定することもできます。

アクセス系イベントで指定できるアクセス種別は次のとおりです。

表 2.12

変数へのアクセス種別

アクセス種別

説明

リード

指定した変数/I/Oレジスタに,リード・アクセスした(読み込みを行った)際にトレース・データの収集を開始/終了します。

ライト

指定した変数/I/Oレジスタに,ライト・アクセスした(書き込みを行った)際にトレース・データの収集を開始/終了します。

リード/ライト

指定した変数/I/Oレジスタに,リード・アクセス,またはライト・アクセスした(読み込み,または書き込みを行った)際にトレース・データの収集を開始/終了します。

備考

DMAC(Direct Memory Access Controller)/DTC(Data Transfer Controller)によるアクセスは対象となりません。

 

-

ソース・テキスト/逆アセンブル・テキスト上の変数/I/Oレジスタに設定する場合
操作は,ソース・テキスト/逆アセンブル・テキストを表示しているエディタ パネル/逆アセンブル パネル上で行います。
ソース・テキスト/逆アセンブル・テキスト上の任意の変数,またはI/Oレジスタを選択したのち,コンテキスト・メニューより次の操作を行います。ただし,対象となる変数は,グローバル変数/関数内スタティック変数/ファイル内スタティック変数のみとなります。
なお,この操作を行うことにより,対象変数,またはI/Oレジスタにトレース・イベント(アクセス系)が設定されたとみなされ,イベント パネルで管理されます(「2.17 イベントの管理」参照)。


アクセス種別

操作方法

リード/ライト

-

トレース開始イベント

[トレースの設定]→[読み書き時にトレース開始の設定]を選択したのち,[Enter]キーを押下します。

-

トレース終了イベント

[トレースの設定]→[読み書き時にトレース終了の設定]を選択したのち,[Enter]キーを押下します。

この際に,メニュー内のテキスト・ボックスに値を指定した場合,指定した値で読み込み,または書き込みを行った場合のみトレース・データの収集を開始/終了します。

値を指定しない場合は,値にかかわらず,選択している変数に読み込み,または書き込みを行った場合にトレース・データの収集を開始/終了します。

注意 1.

カレント・スコープ内の変数が対象となります。

注意 2.

イベント・エリアにおいて背景色がグレー表示の行(その行が対応するアドレスに変換不可であることを示す)上の変数/I/Oレジスタを選択してもトレース・イベントを設定することはできません。このトレース・イベントを設定する際は,イベント・エリアの背景色が白色の行にある変数/I/Oレジスタを選択してください。

注意 3.

ソース・テキスト/逆アセンブル・テキスト上から設定可能なアクセス種別は,リード/ライトのみです。アクセス種別をリードおよびライトへ変更する場合は,トレース開始/終了イベントを設定したのち,イベント パネル上からオープンするダイアログで編集します。(「2.13.3.4 トレース開始イベント/トレース終了イベントを編集する」参照)

-

登録したウォッチ式に設定する場合
操作は,ウォッチ パネル上で行います。
対象となるウォッチ式を選択したのち(複数選択不可),コンテキスト・メニューより次の操作を行います。ただし,対象となるウォッチ式は,グローバル変数/関数内スタティック変数/ファイル内スタティック変数/I/Oレジスタのみとなります。
なお,この操作を行うことにより,対象ウォッチ式にトレース・イベント(アクセス系)が設定されたとみなされ,イベント パネルで管理されます(「2.17 イベントの管理」参照)。


アクセス種別

操作方法

リード/ライト

-

トレース開始イベント

[トレース出力]→[読み書き時にトレース開始の設定]を選択したのち,[Enter]キーを押下します。

-

トレース終了イベント

[トレース出力]→[読み書き時にトレース終了の設定]を選択したのち,[Enter]キーを押下します。

この際に,メニュー内のテキスト・ボックスに値を指定した場合,指定された値で読み込み,または書き込みを行った場合のみトレース・データの収集を開始/終了します。

値を指定しない場合は,値に関わらず,選択しているウォッチ式に読み込み,または書き込みを行った場合にトレース・データの収集を開始/終了します。

注意 1.

カレント・スコープ内のウォッチ式が対象となります。
カレント・スコープ外のウォッチ式を対象とする場合は,スコープ指定したウォッチ式を選択してください。

注意 2.

ウォッチ式から設定可能なアクセス種別は,リード/ライトのみです。アクセス種別をリードおよびライトへ変更する場合は,トレース開始/終了イベントを設定したのち,イベント パネル上からオープンするダイアログから編集します。(「2.13.3.4 トレース開始イベント/トレース終了イベントを編集する」参照)

 

トレース開始イベント/トレース終了イベントが設定されると,イベント パネル上において,トレース・イベントとして1つにまとめて管理されます(トレース・イベント項目の“+”マークをクリックすることにより,設定したトレース開始イベント/トレース終了イベントの詳細情報が表示されます)。

注意 1.

トレース開始イベント/トレース終了イベントの両方を設定した場合,開始および終了条件が成立するたびにトレース・データを収集します。この場合,トレース・パネルで正しく逆アセンブリ表示できません。

注意 2.

ユーザプログラム実行結果がすべて,“BCND:条件分岐”の場合,トレース情報は表示されません。

注意 3.

【E20(JTAG)【RX600シリーズ】】
[トレース]カテゴリの[トレース機能の用途]プロパティにおいて,リアルタイムRAMモニタを指定した場合,トレース開始/終了イベントを使用しないでください。また,イベント パネルにおいて,設定されたイベントは削除してください。

備考 1.

トレース開始イベント/トレース終了イベントのいずれかが有効状態で設定されると,イベント パネル上の無条件トレース・イベントのチェックが自動的に外れ,設定されたトレース開始イベント成立からトレース終了イベント成立までのトレース・データが収集されます。

備考 2.

トレース開始イベントが不要な場合は,未設定でもかまいません。未設定の場合,プログラム実行開始がトレース・データの収集開始となります。同様にトレース終了イベントが未設定の場合,プログラム実行停止がトレース・データの収集停止となります。

備考 3.

イベントの設定状態によりイベント・マークは異なります(「2.17.1 設定状態(有効/無効)を変更する」参照)。
また,すでにイベントが設定されている箇所で,新たにイベントを設定した場合は,複数のイベントが設定されていることを示すイベント・マーク( )が表示されます。

備考 4.

【シミュレータ】
トレース開始イベント/トレース終了イベントのいずれかが有効状態で設定されると,プロパティ パネル[デバッグ・ツール設定]タブ上の[トレース]カテゴリ内[トレース機能を使用する]プロパティの指定を自動的に[はい]に変更し,トレース機能が有効化されます。