Everything
2.13.4 条件を満たしたときのみの実行履歴を収集する

ある条件を満たしたときのみプログラムの実行履歴を収集することができます。

(1)

変数/I/Oレジスタへのアクセスが発生したとき

ポイント・トレース・イベントを設定することにより,任意の変数,またはI/Oレジスタに対し,指定したアクセスがあった場合にのみ,その情報をトレース・データとして収集します。

次のいずれかの操作により,ポイント・トレース・イベントを設定してください。

注意 1.

ポイント・トレース・イベントの設定に関しては(有効イベント数の制限など),「2.17.7 イベント設定に関する留意事項」も参照してください。

注意 2.

【シミュレータ】
ストリング操作命令,および積和演算命令は,最初と最後のデータアクセスのみがイベントチェック対象となります。

備考 1.

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

備考 2.

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

備考 3.

ポイント・トレース・イベントとトレース開始/終了イベントを同時に設定した場合は,デバッグ・ツールにより動作が異なります。

-

【E1】【E20】【EZ Emulator】
トレース開始/終了イベントで設定した区間内でポイント・トレース・イベントの条件に一致したデータのみをトレース・データとして収集します。

-

【シミュレータ】
トレース開始/終了イベントで設定した区間内の実行履歴,およびトレース開始/終了イベントで設定した区間とは関係なくポイント・トレース・イベントの条件に一致したデータをトレース・データとして収集します。

(a)

ソース・テキスト/逆アセンブル・テキスト上の変数/I/Oレジスタへのアクセスの場合

操作は,ソース・テキスト/逆アセンブル・テキストを表示しているエディタ パネル/逆アセンブル パネル上で行います。

対象となる変数,またはI/Oレジスタを選択したのち,指定するアクセス種別にしたがって,コンテキスト・メニューより次の操作を行います。ただし,対象となる変数は,グローバル変数/関数内スタティック変数/ファイル内スタティック変数のみとなります。

なお,この操作を行うことにより,対象変数/I/Oレジスタにポイント・トレース・イベントが設定されたとみなされ,イベント パネルで管理されます(「2.17 イベントの管理」参照)。

アクセス種別

操作方法

リード

[トレース設定]→[値をトレースに記録(読み込み時)]を選択します。

ライト

[トレース設定]→[値をトレースに記録(書き込み時)]を選択します。

リード/ライト

[トレース設定]→[値をトレースに記録(読み書き時)]を選択します。

備考

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

(b)

登録したウォッチ式へのアクセスの場合

操作は,ウォッチ パネル上で行います。

対象となるウォッチ式を選択したのち,コンテキスト・メニューより次の操作を行います(「2.11.6 ウォッチ式を表示/変更する」参照)。

ただし,対象となるウォッチ式は,グローバル変数/関数内スタティック変数/ファイル内スタティック変数/I/Oレジスタのみとなります。

なお,この操作を行うことにより,対象ウォッチ式にポイント・トレース・イベントが設定されたとみなされ,イベント パネルで管理されます(「2.17 イベントの管理」参照)。

アクセス種別

操作方法

リード

[トレース出力]→[値をトレースに記録(読み込み時)]を選択します。

ライト

[トレース出力]→[値をトレースに記録(書き込み時)]を選択します。

リード/ライト

[トレース出力]→[値をトレースに記録(読み書き時)]を選択します。

備考

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

 

ポイント・トレース・イベントの設定が完了したのち,プログラムを実行します(「2.9 プログラムの実行」参照)。

プログラム実行中,設定したポイント・トレース・イベントの条件が満たされた場合,その情報がトレース・データとして収集されます。トレース・データの確認方法についての詳細は,「2.13.6 実行履歴を表示する」を参照してください。

なお,ポイント・トレース・イベントとして設定したトレース・イベント(アクセス系)を編集する場合は,[表示]メニュー→[イベント]の選択でオープンするイベント パネルにおいて,編集したいポイント・トレースの詳細情報に表示されたトレース・イベント(アクセス系)を選択したのち,コンテキスト・メニューの[条件の編集...]をクリックします(「2.17.4.2 アクセス系イベントを編集する」参照)。

また,ポイント・トレース・イベントとして設定したトレース・イベント(アクセス系)を削除する場合は,[表示]メニュー→[イベント]の選択でオープンするイベント パネルにおいて,削除したいポイント・トレース・イベントの詳細情報に表示されたトレース・イベント(アクセス系)を選択したのち,同パネルのツールバーの ボタンをクリックします(「2.17 イベントの管理」参照)。