WatchPoint
Conditional breakpoints
Sometimes you want to a breakpoint to happen only when certain conditions are true. Such as a session having started, a file or socket being open or an iteration being at a certain point. Conditional breakpoints can help with this. Regexp, temporary and normal breakpoints can all be made conditional by adding the suffix: Here A common use case is using a conditional breakpoint to pause execution of your program on the [N]th iteration of a loop by typing something like: For example: You can also make an existing breakpoint conditional by using the Type if [CONDITION]
[CONDITION]
is a boolean expression, which, in GDB is true if the result is nonzero, otherwise it is false. The condition can include a function call, the value of a variable or the result of any GDB expression.break foo if i == [N]
break foo if i == 4
condition
command. If you have an existing breakpoint (say 2) then you can add a condition to it with:condition 2 i == 4
help condition
at the GDB prompt for more.
Want debugging tips directly in your inbox?
Share this tutorial