条件ブレークポイントの設定

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

条件ブレークポイントは、ヒットする頻度が高いと非常に侵入的となり、パフォーマンス低下の原因になる可能性があります。これは、ブレークイントがトリガされるたびにデバッガがターゲットを停止するためです。指定された条件がチェックされ、評価結果として true が返された場合、ターゲットが停止状態のままになり、それ以外の場合は実行が再開されます。

Note

サブブレークポイントを持つブレークポイントには、スクリプトを割り当てないでください。スクリプトを割り当てると、デバッガがそれぞれのブブレークポイントでスクリプトの実行を試みます。この場合、エラーメッセージが表示されます。

[ブレークポイントのプロパティ]ダイアログボックスで既存のブレークポイントに条件を割り当てるには、以下の手順に従います。

  1. ブレークポイントビューで、変更するブレークポイントを右クリックしてコンテキストメニューを表示します。

  2. [Properties...]を選択して[Breakpoint Properties]ダイアログボックスを表示します。

  3. 特定のブレークポイントに関する条件式を設定するには、[Stop Condition]フィールドに C 形式の式を入力します。例えば、アプリケーションに変数 x がある場合は、以下のように指定できます。

    x == 10

  4. 特定のパスカウントに達するまでブレークポイントのヒットを遅らせるようデバッガに指定するには、[Ignore Count]フィールドにパスカウントを入力します。例えば、ループの繰り返し回数が 100 回の場合に、パスカウントが 50 に達した後でそのループのブレーポイントをヒットするようにするには、50 と入力します。

  5. 選択したブレークポイントがトリガされたときにスクリプトを実行するには、[On break, run script]フィールドで以下のいずれかの方法でスクリプトファイルを指定します。

    • 表示されるフィールドに場所およびファイル名を入力します。

    • [File System...]をクリックして、ワークスペースの外部にあるディレクトリのファイルを選択します。

    • [Workspace...]をクリックして、ワークスペース内のプロジェクトディレクトリまたはサブディレクトリのファイルを選択します。

    Note

    ブレークポイントが関連付けられているスクリプトファイルのコマンドには注意が必要です。例えば、スクリプトファイルに quit コマンドが含まれている場合は、ブレークポイントがヒットされるとデバッガがターゲットから切断されます。

  6. ブレークポイントアクションがすべて完了したときにアプリケーションの実行を自動的に継続する機能をデバッガでイネーブルするには、[Continue Execution]チェックボックスを選択します。

    または、ブレークポイントに関連付けられているスクリプトファイルの最後のコマンドとして、continue コマンドを入力することもできます。

  7. マルチスレッドアプリケーションのスレッドでブレークポイントを設定するには、以下の手順に従います。

    1. [Break on Selected Threads]を選択してスレッドの選択をイネーブルします。

    2. ブレークポイントを割り当てる各スレッドのチェックボックスを選択します。

  8. [OK]をクリックして変更を保存します。

Figure 9. 条件ブレークポイントの設定

条件ブレークポイントの設定

複数のステートメントを使用してソースコードの単一行に設定されたブレークポイントは、サブブレークポイントとして親ブレークポイントに割当てられます。各サブブレークポイントのイネーブル、ディセーブル、および表示は、単一のステートメントから成るブレークポイントと同じ方法で行うことがきます。条件は最上位のブレークポイントにのみ割り当てられるため、親ブレークポイントとサブブレークポイントの両方に影響します。

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

複数の条件を単一のブレークポイントに設定するときは、以下の点に注意してください。

  • 停止条件と無視する回数を設定した場合、停止条件が満たされない限り、無視する回数はデクリメントされません。例えば、変数 c によって制御され、繰り返し回数が 10 回に設定されているループにブレークポイントがあるとします。停止条件 c==5 を設定し、無視する回数を 3 に設定した場合、ループの到達回数が無視する回数の値より少なければ、このブレークポイントは決してヒットされない可能性があります。

  • 選択したスレッドでブレークするよう指定した場合、停止条件と無視する回数は選択したスレッドに対してのみチェックされます。

Show/hide関連項目

Copyright © 2010, 2011 ARM. All rights reserved.ARM DUI 0446FJ
Non-ConfidentialID111611