From: Jeff Johnston <jjohnstn@redhat.com>
To: Daniel Jacobowitz <drow@mvista.com>
Cc: gdb-patches@sources.redhat.com
Subject: Re: [RFA]: pending breakpoint support [1/3]
Date: Fri, 30 Jan 2004 22:46:00 -0000 [thread overview]
Message-ID: <401ADEA3.6010500@redhat.com> (raw)
In-Reply-To: <20040130190927.GA19379@nevyn.them.org>
Daniel Jacobowitz wrote:
>On Fri, Jan 30, 2004 at 01:51:07PM -0500, Jeff Johnston wrote:
>
>
>>>>+ input_radix = b->input_radix;
>>>>+ rc = break_command_1 (b->addr_string, b->flag, b->from_tty, b);
>>>>+
>>>>+ if (rc == GDB_RC_OK)
>>>>+ /* Pending breakpoint has been resolved. */
>>>>+ printf_filtered ("Resolves pending breakpoint \"%s\"\n",
>>>>b->addr_string);
>>>>
>>>>
>>>>
>>>>
>>>Spelling error, though.
>>>
>>>
>>>
>>>
>>Actually, I meant it to be:
>>
>>Breakpoint set at.....
>>Resolves pending breakpoint "....."
>>
>>So the bottom line ties to the breakpoint just set. If this isn't very
>>clear I can put "which" in front or just make it "Resolved" which I
>>think you are alluding to. If there is some other spelling error,
>>please point it out as I don't see it.
>>
>>
>
>I read it and assumed that you meant "Resolved". I think that
>"resolves" is grammatically confusing here, since there's no implicit
>subject. How about "Pending breakpoint \"%s\" resolved"?
>
>
Ok.
>
>
>>>
>>>
>>>>@@ -4779,6 +4888,26 @@ create_breakpoints (struct symtabs_and_l
>>>> b->ignore_count = ignore_count;
>>>> b->enable_state = bp_enabled;
>>>> b->disposition = disposition;
>>>>+ /* If resolving a pending breakpoint, a check must be made to see if
>>>>+ the user has specified a new condition or commands for the
>>>>+ breakpoint. A new condition will override any condition that was
>>>>+ initially specified with the initial breakpoint command. */
>>>>+ if (pending_bp)
>>>>+ {
>>>>+ char *arg;
>>>>+ if (pending_bp->cond_string)
>>>>+ {
>>>>+ arg = pending_bp->cond_string;
>>>>+ b->cond_string = savestring (arg, strlen (arg));
>>>>+ b->cond = parse_exp_1 (&arg, block_for_pc (b->loc->address),
>>>>0);
>>>>+ if (*arg)
>>>>+ error ("Junk at end of pending breakpoint condition
>>>>expression");
>>>>+ }
>>>>+ /* If there are commands associated with the breakpoint, they
>>>>should + be copied too. */
>>>>+ if (pending_bp->commands)
>>>>+ b->commands = copy_command_lines (pending_bp->commands);
>>>>+ }
>>>> mention (b);
>>>> }
>>>> }
>>>>
>>>>
>>>>
>>>>
>>>Here's the one question.
>>>
>>>The only way to get here with a PENDING_BP is from break_command_1 from
>>>resolve_pending_breakpoint. So I don't think it is possible for there
>>>to be a condition already set on B, which makes the comment about
>>>"overriding" such a condition a little strange. Am I right, or is
>>>there some other way to get a condition to here?
>>>
>>>
>>>
>>>
>>The scenario would be: 1. User creates a pending breakpoint with a
>>condition in the break location. 2. User specifies a condition for the
>>breakpoint number given back for the pending breakpoint using the
>>condition command. 3. The shared library gets loaded that resolves the
>>breakpoint. The resolution of the breakpoint will find the original
>>condition in the location string, but won't know about the 2nd one which
>>gets stored in the pending breakpoint cond_string (see condition_command
>>support for pending breakpoint).
>>
>>
>
>I'd have thought the original condition would have been removed from
>addr_string already. Can we not do that without being able to parse
>the location? Won't this produce confusing "info breakpoints" output?
>
>
>
Well, therein lies the problem. The word "if" might or might not be
part of the symbol. The
regular logic relies on parsing out the symbol first and then looking at
the aftermath. I don't have
that luxury so I punt. It may be slightly confusing if the user does
the scenario above, but the
displayed pending breakpoint info is meant to be the "original
breakpoint string" so I don't anticipate
the user will object too much. Ok or do you have a better idea?
-- Jeff J.
next prev parent reply other threads:[~2004-01-30 22:46 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-01-21 20:52 Jeff Johnston
2004-01-22 22:27 ` Daniel Jacobowitz
2004-01-27 20:41 ` J. Johnston
2004-01-30 4:13 ` Daniel Jacobowitz
2004-01-30 18:51 ` Jeff Johnston
2004-01-30 19:09 ` Daniel Jacobowitz
2004-01-30 22:46 ` Jeff Johnston [this message]
2004-01-30 23:45 ` Daniel Jacobowitz
2004-01-31 0:33 ` Jeff Johnston
2004-02-02 21:12 ` Jeff Johnston
2004-02-02 21:22 ` Daniel Jacobowitz
2004-02-02 22:18 ` Jeff Johnston
2004-02-02 22:21 ` Daniel Jacobowitz
2004-02-03 6:07 ` Eli Zaretskii
2004-02-05 21:33 ` Jeff Johnston
2004-02-06 20:17 ` Frank Ch. Eigler
2004-02-07 15:13 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=401ADEA3.6010500@redhat.com \
--to=jjohnstn@redhat.com \
--cc=drow@mvista.com \
--cc=gdb-patches@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox