This is the mail archive of the gdb-patches@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: [PATCH] Don't give spurious warnings when using thread specific breakpoints


> Date: Fri, 20 Oct 2006 13:46:48 -0400
> From: Daniel Jacobowitz <drow@false.org>
> Cc: andrew.stubbs@st.com, gdb-patches@sourceware.org
> > 
> > We need to have different code branches, one each for each one of the
> > possibilities, and each branch should have a format string for a full
> > sentence that is produced by that branch.
> > 
> > If there are too many such possible combinations, then the i18n
> > comment should explain the context, as I mentioned elsewhere.  (I'm
> > quite sure we've been through a similar discussion a year or so ago,
> > about another place where the code does similar things.)
> 
> And I'm pretty sure we concluded there wasn't a reasonable way to do
> this... perhaps my example wasn't good enough.

No, we concluded that if there were no reasonable way of doing that,
we should use an i18n comment to have the context explained in
gdb.pot, where the translators will see it.  Which is what I mentioned
as a fallback above.

> Note: breakpoints 1, 2, 3, 4, 5, 6, 7, 8, 9 and 10 also set at pc 0x439ee0.
> Breakpoint 11 at 0x439ee0
> 
> There can be an arbitrary number of elements.

Yes, I understood that much.

> It'd be easy to reduce the possibilities somewhat, by using "%d
> (disabled)" and "%d (disabled) (thread %d)" and so forth.  But I'm
> stumped what to do about the comma separated list.

How about rewriting the code so it'll produce something like

  Note: breakpoint(s) 1-9, 10-15, 21, 42 also set at pc 0x439ee0.

?

Then we could have the variable list of breakpoint numbers produced
as a string, and output that string with a format such as this:

  "Note: breakpoint(s) %s also set at pc 0x%x."

Actually, this would work for i18n even if we don't produce ranges of
numbers but a plain "1, 2, 3, 4, ..." list, but ranges would compress
some overly-long lists.

The `disabled' notification could be printed as a separate message.
For example:

  Note: breakpoint(s) 1-9, 10-15, 21, 42 also set at pc 0x439ee0.
  Note: breakpoint(s) 3, 11, 21 are disabled.

We could do something similar with "(thread %d)", for example produce
a separate message for each thread.  I think that the current format
becomes quite unreadable anyway when too many "disabled" and "thread
N" parts are produced.

WDYT?


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