### 4-3　ブレークコントロールウィンドウ

ブレークコントロールウィンドウは3種類の実行監視機能を実装しています。

#### ブレークポイントのアドレス比較によるブレーク

ブレークポイントのほか、メモリフェッチによりプログラムの実行を停止できます。

#### 割り込みを受け付けたときの表示

仮想CPUが割り込みを受け付け、割り込みルーチンがCALLされていることが表示されます。

#### アクセスリファレンスモニタ

指定のメモリをアクセスしているプログラム位置を表示する機能です。

ブレークコントロールウィンドウの設定アドレスを有効にするためには［Apply］ボタンをクリックしてください。

#### 4-3-1　ブレークポイントのアドレス比較によるブレーク

#### ブレークコントロール

ブレークコントロールはアプリケーションの実行を監視する指定を行います。監視にはブレークポイント指定、TRRフェッチブレーク、メモリフェッチブレーク、範囲指定付きメモリフェッチブレークの4グループがあります。各グループにはそれぞれ4つの比較アドレスを設定することができます。まず、各グループに共通な項目について説明します。

#### グループのON/OFF

各グループごとにON/OFFします。グループごとのスイッチは、ビジュアルメモリシミュレータでのアドレス比較のオーバーヘッドを最小に押さえるためにあります。グループをONにすると背景色が白になり、設定が有効となります。

#### アドレスのON/OFF

グループ内の比較アドレスは、それぞれON/OFFのスイッチを持っています。ONにするとその比較アドレスが有効になります。各アドレスの先頭のカラムをクリックするとON/OFFが反転します。

#### ブレークモード

ブレークモードは比較アドレスと一致した場合に実行を停止するか、継続して実行するかを指定します。比較アドレスと一致すると、現在のレジスタをダンプします。BreakがONの場合、レジスタのダンプ後、仮想CPUは実行を停止します。BreakがOFFの場合、レジスタのダンプは行いますが、仮想CPUは実行を続けます。

#### ブレークポイント

指定アドレスとプログラムカウンタが一致した場合に実行停止されます。比較できるアドレスは4つです。

#### TRRフェッチブレーク

TRH、TRL（間接アドレス）レジスタで参照されるメモリアドレスと一致したときに実行停止します。

実質的には、LDC命令を実行したときに参照されるアドレスと比較されます。

したがってフラッシュメモリの区別はなく、LDC命令を実行した時点でのTRH、TRLによるアドレスが比較対象となります。

#### メモリフェッチブレーク

メモリフェッチブレークはCPUが指定アドレスのメモリをアクセスしたときに実行停止します。このグループには対象メモリの指定とアクセスモードの指定を行うことができます。

対象メモリはRAM#0、RAM#1、SFR、XRAM#0、XRAM#1、VTRBFです。対象メモリの選択は、設定したいカラムでクリックするとポップアップメニューが表示されますので、その中から選択してください。

アクセスモードはREAD、WRITE、R/Wから選択できます。

READは対象メモリに対して読み出しが行われたときに実行停止し、WRITEは対象メモリに書き込みが行われたときに実行停止します。またR/Wは対象メモリに対して読み出し、書き込みのいずれかが行われたときに実行停止します。

#### 範囲指定付きメモリフェッチブレーク

範囲指定付きメモリフェッチブレークは指定されたメモリアドレスの範囲の内外に対しアクセスが行われた場合に実行停止します。

比較範囲は、開始アドレス［Start］と終了アドレス［End］で指定します。比較条件は範囲外と範囲内を選択できます。範囲外は指定アドレス範囲の外側のメモリをアクセスした場合に実行停止します。この条件では、指定アドレスは含みません。範囲内は指定アドレス範囲の内側のメモリをアクセスした場合に実行停止します。この条件では指定アドレスを含みます。

メモリフェッチブレークと同様に、対象メモリの指定とアクセスモードの指定を行うことができます。

対象メモリはRAM#0、RAM#1、SFR、XRAM#0、XRAM#1、VTRBFです。

対象メモリの選択は、設定したいカラムでクリックするとポップアップメニューが表示されますので、その中から選択してください。

アクセスモードはREAD、WRITE、R/Wから選択できます。

READは対象メモリに対して読み出しが行われたときに実行停止します。

WRITEは対象メモリに書き込みが行われたときに実行停止します。

R/Wは対象メモリに対して読み出し、書き込みのいずれかが行われたときに実行停止します。

#### 4-3-2　割り込みを受け付けたときの表示

#### 割り込みレポート

仮想CPUが割り込みを受け付けたときにシステムコンソールに受け付けメッセージを出力します。

このメッセージの出力タイミングは、仮想CPUが割り込みベクトルを取得した後です。 割り込み要因のチェックボックスをチェックした場合に有効になります。

このチェックボックスは仮想CPUの実行中に変化させても正しく機能します。 割り込み要因には次のものがあります。

#### 4-3-3　アクセスリファレンスモニタ

アクセスリファレンスは、指定したメモリをアクセスしているプログラム位置を表示します。この機能は多くの場合、メモリを破壊しているプログラム位置を特定するために利用します。

アクセスリファレンスモニタでは、アクセスモードを選択できます。

指定はREAD、WRITE、R/Wのいずれかです。

表示内容は、アクセスされたモード（R、W）と、プログラム位置を逆アセンブルしたものです。これを専用コンソールに出力します。

出力時にプログラム位置の二重検査を行いますので、アクセスごとに羅列されることはありません。もし、時間的経過を含めた状態でアクセス順位を知りたい場合は、メモリフェッチブレークを利用してください。アクセスレファレンスモニタを使用するとシステムコンソールにアクセスされるたびに出力します。

[←] | [INDEX] | [→]