4.6 条件ブレークポイントの使用

条件ブレークポイントには、そのブレークポイントをトリガするために満たす必要のある条件をテストするプロパティが割り当てられています。

例えば、条件ブレークポイントを使用して以下を行うことができます。
  • 特定の値の変数をテストする。
  • 関数を特定の回数実行する。
  • 特定のスレッドまたはプロセッサでのみブレークポイントをトリガする。
実行時には、指定された条件がチェックされ、評価結果として true が返された場合は、ターゲットが停止状態のままになり、それ以外の場合は実行が再開されます。

  • 条件ブレークポイントは、ヒットする頻度が高いと非常に侵入的となり、パフォーマンス低下の原因になる可能性があります。これは、ブレークポイントがトリガされるたびにデバッガがターゲットを停止するためです。
  • サブブレークポイントを持つブレークポイントには、スクリプトを割り当てないで下さい。スクリプトを割り当てると、デバッガがそれぞれのサブブレークポイントでスクリプトの実行を試みます。この場合、エラーメッセージが表示されます。
複数のステートメントを使用してソースコードの単一行に設定されたブレークポイントは、サブブレークポイントとして親ブレークポイントに割り当てられます。各サブブレークポイントのイネーブル、ディセーブル、および表示は、単一のステートメントから成るブレークポイントと同じ方法で行うことができます。条件は最上位のブレークポイントにのみ割り当てられるため、親ブレークポイントとサブブレークポイントの両方に影響します。

複数の条件を単一のブレークポイントに設定する際の注意事項

複数の条件を単一のブレークポイントに設定するときは、以下の点に注意してください。
  • 停止条件無視する回数を設定した場合、停止条件が満たされない限り、無視する回数はデクリメントされません。例えば、変数 c によって制御され、繰り返し回数が 10 回に設定されているループにブレークポイントがあるとします。停止条件 c==5 を設定し、無視する回数3 に設定した場合、4 回目に c==5 でヒットするまで、このブレークポイントはアクティブにならない可能性があります。その後は、c==5 でヒットするたびにアクティブになります。
  • 選択したスレッドまたはプロセッサでブレークするよう指定した場合、停止条件無視する回数は選択したスレッドまたはプロセッサに対してのみチェックされます。
  • 条件は、以下の順序で評価されます。
    1. スレッドまたはプロセッサ。
    2. 条件。
    3. 無視する回数。
以下のサブセクションから構成されています。
関連する参考文書
4.5 ブレークポイントとウォッチポイントの使用
4.5.1 実行ブレークポイントの設定または削除
4.5.3 データウォッチポイントのプロパティの表示
4.8 トレースポイントの設定
4.9 Streamline の始点と終点の設定
4.6.1 既存のブレークポイントへの条件の割り当て
4.7 ブレークポイントとウォッチポイントの保留について
4.5.5 ファイルへの DS-5 ブレークポイント設定のエクスポート
4.5.4 ファイルからの DS-5 ブレークポイント設定のインポート
10.3 ARM アセンブラエディタ
10.4 [Breakpoints]ビュー
10.5 C/C++ エディタ
10.6 [Commands]ビュー
10.8 [Disassembly]ビュー
10.11 [Expressions]ビュー
10.14 [Memory]ビュー
10.17 [Registers]ビュー
10.26 [Variables]ビュー
関連情報
DS-5 デバッガコマンド
非機密扱いPDF file icon PDF 版ARM DUI0446VJ
Copyright © 2010-2015 ARM.All rights reserved.