この節では,実行中のプログラムを停止する方法について説明します。
CS+では,次のブレーク機能を使用して任意の箇所でプログラムを停止させることができます。
デバッグ・ツールが,ハードウエアの資源を使用してプログラム実行中にブレーク条件を逐次確認し,条件を満たした際にプログラムを停止させる機能です。
ハードウエア・ブレーク・イベントには,任意の箇所でプログラムの実行を停止させる“実行系”と,任意の変数などに指定したアクセスがあった際にプログラムの実行を停止させる“アクセス系”があります。
なお,ハードウエア・ブレーク・イベント(実行系)を設定すると,指定したアドレスの命令実行前にプログラムがブレークします(実行前ブレーク)。
ハードウエア・ブレーク・イベント(アクセス系)を使用する場合では(「2.9.5.1 ブレーク・イベント(アクセス系)を設定する」参照),次の場合のみ“実行後ブレーク”となります。 |
コンテキスト・メニューの[ブレークの設定]→[書き込みブレークを設定]/[読み書きブレークを設定]の選択によるブレーク・イベントの設定において,リードモディファイライト系の命令のライト・アクセスを検出した場合 |
指定したアドレスの命令コードを一時的にブレーク用の命令に書き換え,その命令を実行した際にプログラムを停止させる機能です。
ソフトウエア・ブレーク・イベントを設定すると,指定したアドレスの命令実行前にプログラムがブレークします(実行前ブレーク)。
スタンバイ・モード(HALT/STOP/IDLE)中に強制ブレークを行った場合,カレントPC値はスタンバイ・モード命令以降の次命令のアドレスとなります。 |
【シミュレータ】 |
【Full-spec emulator】【E1】【E20】 |
マルチコア対応版を対象とした“プログラムの実行制御”,または“イベントの発生”については,「2.7 コア(PE)の選択」も参照してください。 |