ブレークポイントの条件を指定します。
ID |
ブレークポイントの ID 番号。ID 番号は 0 以上の符号なし整数で、デバッガーによりブレークポイントに割り当てられます。 |
condexpr |
論理条件を表す式。 このパラメーターを指定しない場合、デバッガーは条件をブレークポイントから削除し、ブレークポイントは無条件になります。 |
このコマンドは、ブレークポイントで実行を停止する条件を指定します。
実行中に指定のブレークポイントに到達すると、デバッガーは指定した式を評価します。式の値が TRUE の場合、デバッガーはアプリケーションの実行を停止します。そうでない場合、デバッガーはブレークポイントを無視します。
Hello World アプリケーションのコードの行 20 と 21 を例に考えます。
20 glob = 111; 21 glob = 1111;
次の例は、行 21 にブレークポイントを設定した後、条件が真の場合にデバッグ対象がブレークポイントをヒットすると実行を停止するように条件を設定する方法を示しています。
(idb) break 21 Breakpoint 1 at 0x80483ea: file /site/c_code/hello_simple.c, line 21. (idb) condition 1 glob == 0
条件が偽のため、デバッグ対象はブレークポイントをヒットしても停止しません。
(idb)
run
Starting program: /site/c_code/hello_simple.exe
Hello world!
Program exited with code 1.
条件が真に設定されたため、デバッグ対象はブレークポイントをヒットすると停止します。
(idb) condition 1 glob == 111 (idb) run Starting program: /site/c_code/hello_simple.exe Hello world! Breakpoint 1, main () at /site/c_code/hello_simple.c:21 21 glob = 1111; (idb)