Re: Multiple breakpoints

Andreas Schwab
2008-04-03T09:01:37Z

Nick Roberts <nickrob@snap.net.nz> writes:

> If I set a breakpoint on TRY_CATCH in gdb_evaluate_expression, I get
> multiple breakpoints:
>
> gdb_evaluate_expression (struct expression *exp, struct value **value)
> {
> volatile struct gdb_exception except;
>
> -> TRY_CATCH (except, RETURN_MASK_ERROR)
> {
> *value = evaluate_expression(exp);
> }
>
> if (except.reason < 0)
> return 0;
> return 1;
> }
>
> where -> shows the breakpoint location.
>
>
> Is this to be expected? The assembler looks like this:

TRY_CATCH expands to a loop, probably the loop condition has been
duplicated by the compiler.

Andreas.

--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, MaxfeldstraÃŸe 5, 90409 NÃ¼rnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."