This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Multiple breakpoints


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."


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]