Keil Logo

Technical Support

On-Line Manuals

µVision4 User's Guide (Japanese)

µVision4 の概要 ユーザインタフェース アプリケーションの作成 ユーティリティ デバッグ デバッガの使用 シミュレーション デバッグの開始 アプリケーションプログラムの実行 デバッグのウィンドウおよびダイアログ [ブレークポイント](Breakpoints) [コードカバレッジ](Code Coverage) [レジスタ](Registers) [逆アセンブリ](Disassembly)ウィンドウ [ロジックアナライザ](Logic Analyzer) 設定 設定の詳細 制約 [メモリ](Memory)ウィンドウ [メモリマップ](Memory Map) [コマンド](Command)ウィンドウ デバッグコマンド 変数とレジスタ デバッグ関数 実行プロファイラ [パフォーマンスアナライザ](Performance Analyzer) シリアルウィンドウ [シンボル](Symbols)ウィンドウ [ツールボックス](Toolbox) [ウォッチ](Watch)ウィンドウ [コールスタック](Call Stack) [命令トレース](Instruction Trace)ウィンドウ システムビューア 定数 システム変数 ペリフェラル変数 I/O ポート シリアルポート プログラム変数(シンボル) 行番号 ビットアドレス 型指定子 演算子 µVision4 と C の相違点 式の例 ヒントとテクニック ペリフェラルと CPU 設定の確認 I/O ポートのシミュレート 割り込みとクロック入力のシミュレート 外部 I/O デバイスのシミュレート PC COM ポートへのシリアル I/O の割り当て 不正なメモリアクセスの確認 ファイルからのコマンド入力 事前設定 I/O ポートまたはメモリコンテンツ ファイルへのデバッグ出力の書き込み キーボードショートカット デバッグコマンド デバッグ関数 シミュレーション フラッシュプログラミング ダイアログ サンプルプログラム コマンドライン 付録

[ブレークポイント](Breakpoints)

ブレークポイント挿入ボタンµVision4 では、いくつかの方法でブレークポイントを定義できます。プログラムコードを変換する前でも、ソーステキストの編集中に実行ブレークポイントを設定できます。

ブレークポイントの定義と変更は、以下のように行います。

  • [ファイル](File)ツールバーのボタンを使用します。エディタウィンドウまたは[逆アセンブリ](Disassembly)ウィンドウのコードラインを選択し、ブレークポイントボタンをクリックします。
  • エディタウィンドウまたは[逆アセンブリ](Disassembly)ウィンドウのコンテキストメニューにあるブレークポイントコマンドを使用します。
  • エディタウィンドウまたは[逆アセンブリ](Disassembly)ウィンドウの左にあるグレーのウィンドウバーをダブルクリックします。
  • [デバッグ](Debug)→[ブレークポイント](Breakpoints…)ダイアログでは、ブレークポイント設定の確認、定義、変更が可能です。このダイアログでは、さまざまな属性を持つアクセスブレークポイントも定義できます。以下のサンプルを参照して下さい。
  • 出力ウィンドウの[コマンド](Command)ページでは、BreakSetBreakKillBreakListBreakEnableBreakDisable の各コマンドを使用できます。

[ブレークポイント](Breakpoints)ダイアログでは、ブレークポイントの表示または変更が可能です。[現在のブレークポイント](Current Breakpoints)リストのチェックボックスをクリックすると、ブレークポイントを有効または無効にすることができます。[現在のブレークポイント](Current Breakpoints)リストでブレークポイントをダブルクリックすると、その定義を変更できます。

ブレークポイントコントロールダイアログ

ブレークポイントを定義するには、[ブレークポイント](Breakpoint)ダイアログの[式](Expression)に入力します。式に応じて、以下のブレークポイントタイプのいずれかが定義されます。

  • 式がコードアドレスの場合、実行ブレーク(E)が定義されます。指定したコードアドレスに到達したときにアクティブ化されます。コードアドレスは、CPU の命令の最初のバイトを基準にする必要があります。
  • 式がメモリアクセス(読み出し、書き込み、またはその両方)の場合、アクセスブレーク(A)が定義されます。指定したメモリアクセスが発生したときにアクティブ化されます。メモリアクセスウィンドウのサイズは、式のバイトサイズまたはオブジェクトサイズで指定できます。アクセスブレークの式は、メモリアドレスとメモリタイプに変換する必要があります。演算子(&、&&、<、< =. >、>、=、= =、!=)は、アクセスブレークがプログラムの実行の中断またはコマンドの実行を行う前に、変数値を比較するために使用できます。
  • 式をアドレスに変換できない場合、条件付きブレークポイント(C)が定義されます。指定した条件式が true となるときにアクティブ化されます。条件式は CPU 命令の後で再度計算されます。したがって、プログラムの実行速度が大幅に低下することがあります。

ブレークポイントに[コマンド](Command)を指定すると、µVision によってそのコマンドが実行され、ターゲットプログラムの実行が再開します。ここで指定するコマンドは、µVision4 デバッグ関数やシグナル関数でもかまいません。µVision4 関数でプログラムの実行を中断するには、_break_ システム変数を設定します。詳細については、「システム変数」を参照して下さい。

[カウント](Count)の値は、ブレークポイントがトリガされる前に、ブレークポイント式が true となる回数を指定します。

ブレークポイントのサンプル:

以降で、上の[ブレークポイント](Breakpoint)ダイアログにおける定義について説明します。[現在のブレークポイント](Current Breakpoints)リストには、コマンド、およびカウントと共に、ブレークポイントのタイプと物理アドレスの概要が示されています。

[式](Expression): \Measure\125 ターゲットプログラムがモジュールの MEASURE 内のコードライン 125 に到達した場合に停止する実行ブレーク(E)です。
[式](Expression): main ターゲットプログラムがメイン関数に到達した場合に停止する実行ブレーク(E)です。
[式](Expression):
[カウント](Count):
save_current_measurements
10
ターゲットプログラムが save_current_measurements 関数に 10 回目に到達した場合に停止する実行ブレーク(E)です。
[式](Expression):
[コマンド](Command):
tc0
printf ("T0 Interrupt 0ccurred")

ターゲットプログラムが tc0 関数に到達した場合に出力ウィンドウの[コマンド](Command)ページに発生した T0 割り込みを表示する実行ブレーク(E)です。

[式](Expression):
sendchar == 96 sendchar == 96 が true となる場合にプログラムの実行を停止する条件付きブレーク(C)です。このブレークポイントは上の[ブレークポイント](Breakpoints)ダイアログでは無効になっています。
[式](Expression):
[アクセス](Access):
[サイズ](Size):
save_record[10]
読み出し/書き込み
3 つのオブジェクト
save_record[10] と続く 2 つのオブジェクトに読み出しまたは書き込みのアクセスが発生した場合にプログラムの実行を停止するアクセスブレーク(A)です。save_record はサイズが 16 バイトの構造体であるため、このブレークは 48 バイトのアクセス領域を定義します。
[式](Expression):
[アクセス](Access):
sindex == 10
書き込み
10 が変数 sindex に書き込まれた場合にプログラムの実行を停止するアクセスブレーク(A)です。
[式](Expression):
[コマンド](Command):
measure_display
MyStatus ()
ターゲットプログラムが関数 measure_display に到達した場合に µVision デバッグ関数 MyStatus を実行する実行ブレーク(E)です。ターゲットプログラムの実行は、デバッグ関数 MyStatus が実行された後で再開されます。
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

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.