|
|||||||||||||||||||
Technical Support On-Line Manuals µVision4 User's Guide (Japanese) µVision4 の概要 ユーザインタフェース アプリケーションの作成 ユーティリティ デバッグ デバッグコマンド ASM ASSIGN BreakAccess BreakDisable BreakEnable BreakKill BreakList BreakSet COVERAGE DEFINE DIR Display Enter EVALuate EXIT Go INCLUDE KILL LOAD LOG LogicAnalyze MAP MODE Ostep PerformanceAnalyze Pstep RESET SAVE SCOPE SET SIGNAL SLOG Tstep Unassemble WatchSet WatchKill デバッグ関数 シミュレーション フラッシュプログラミング ダイアログ サンプルプログラム コマンドライン 付録 |
BreakSet
BreakSet コマンドは、指定した式(exp)にブレークポイントを設定します。ブレークポイントは、true の場合にターゲットプログラムの実行を停止するか、指定されたコマンドを実行するプログラムアドレスまたは式です。 ブレークポイントの定義には、以下のパラメータを指定できます。
µVision4 は、実行ブレークポイント、条件ブレークポイント、アクセスブレークポイントの 3 タイプのブレークポイントを認識します。µVision4 では、以下の規則に従って各ブレークポイントを分類しています。
以降では、ブレークポイントのタイプについて説明します。 実行ブレークポイント実行ブレークポイントは、指定したコードアドレスに到達したときに、プログラムの実行を停止するか、コマンドを実行します。実行速度は実行ブレークポイントの影響を受けません。 コードアドレスは、命令の最初のバイトに指定する必要があります。命令の 2 バイト目または 3 バイト目に実行ブレークポイントを設定すると、ブレークポイントに到達しなくなります。 コードアドレスの実行ブレークポイントは、一度だけ指定できます。何度も定義することはできません。 条件ブレークポイント条件ブレークポイントは、指定した条件式が true の場合にプログラムの実行を停止するか、コマンドを実行します。条件式は、各アセンブリ命令の後で再計算されます。条件式の複雑さに応じて、プログラムの実行速度が大幅に低下することがあります。実行速度は、条件ブレークポイントの数によっても影響を受けます。 条件ブレークポイントは、式により任意の条件を計算できるため、最も柔軟なタイプのブレークポイントです。 アクセスブレークポイントメモリアクセスブレークポイントは、指定したアドレスが読み出されるか、書き込まれるか、アクセスされた場合、または指定したアドレスが特定の値で読み出されるか、書き込まれた場合に、プログラムの実行を停止するか、コマンドを実行します。アクセスの式は指定したアクセスイベントの発生時にそのアクセスイベントでのみ評価されるため、プログラムの実行速度がメモリアクセスブレークポイントによって大幅に影響を受けることはありません。 メモリアクセスブレークポイントに指定する式は、メモリアドレスとメモリタイプに変換する必要があります。メモリアクセスブレークポイントには、次の規則が適用されます。
例えば、 BS WRITE time.sec /* Valid expression */ 上のブレークポイントは有効ですが、 BS WRITE time.sec + i0 /* Invalid expression */ このブレークポイントは、2 つの値(timer.sec および i0)の合計がメモリタイプに変換されないため、無効です。 注
例次の例は、main 関数のアドレスに実行ブレークポイントを設定します。 >BS main 次の例は、timer0 関数のアドレスに実行ブレークポイントを設定します。timer0 が 10 回目に呼び出されると、ブレークポイントに達し、コマンド "MyRegs()" が実行されます。コマンドの実行後にプログラムの実行が継続されます。 >BS timer0,10,"MyRegs()" 次の例は、sindex シンボルに条件ブレークポイントを設定します。sindex が 8 と等しくなると、プログラムの実行が停止します。 >BS sindex == 8 次の例は、save_record 配列に条件ブレークポイントを設定します。save_record[5].time.sec が 3 回目に 4 以上になると、プログラムの実行が停止します。 >BS save_record[5].time.sec > 5, 3 次の例は、interval.min シンボルの READ アクセスにメモリアクセスブレークポイントを設定します。interval 構造体の min 要素または共用体が 3 の場合は、プログラムの実行が停止します。 >BS READ interval.min == 3 次の例は、savefirst シンボルの WRITE アクセスにメモリアクセスブレークポイントを設定します。savefirst の書き込み後に savefirst が 5 でアキュムレータ(acc)が 0x12 になった場合に、プログラムの実行が停止します。 >BS WRITE savefirst == 5 && acc == 0x12 ブレークポイントは、[ブレークポイント](Breakpoints)ダイアログでも定義することができます。このダイアログは、メインメニューの[デバッグ](Debug)→[ブレークポイント...](Breakpoints...)から開きます。 | ||||||||||||||||||
|
Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.