This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Multiple breakpoints
- From: Andreas Schwab <schwab at suse dot de>
- To: Nick Roberts <nickrob at snap dot net dot nz>
- Cc: gdb at sourceware dot org
- Date: Thu, 03 Apr 2008 11:01:10 +0200
- Subject: Re: Multiple breakpoints
- References: <18420.39684.185853.891083@kahikatea.snap.net.nz>
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."