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: [RFA v3] enable/disable sub breakpoint range


Hello,

Le 10/3/17 à 6:02 PM, Pedro Alves a écrit :
On 10/03/2017 03:50 PM, Eli Zaretskii wrote:
From: Xavier Roirand <roirand@adacore.com>

I'm wondering whether it wouldn't be better to expand this section
of the manual:

  @cindex breakpoint ranges
  @cindex breakpoint lists
  @cindex ranges of breakpoints
  @cindex lists of breakpoints
  Some @value{GDBN} commands accept a space-separated list of breakpoints
  on which to operate.  A list element can be either a single breakpoint number,
  like @samp{5}, or a range of such numbers, like @samp{5-7}.
  When a breakpoint list is given to a command, all breakpoints in that list
  are operated on.

To describe locations as well.  Similarly to how we describe
"thread ID lists", where we have:

  @anchor{thread ID lists}
  @cindex thread ID lists
  Some commands accept a space-separated @dfn{thread ID list} as
  argument.  A list element can be:

  @enumerate
  @item
  A thread ID as shown in the first field of the @samp{info threads}
  display, with or without an inferior qualifier.  E.g., @samp{2.1} or
  @samp{1}.

  @item
  A range of thread numbers, again with or without an inferior
  qualifier, as in @var{inf}.@var{thr1}-@var{thr2} or
  @var{thr1}-@var{thr2}.  E.g., @samp{1.2-4} or @samp{2-4}.

  @item
  All threads of an inferior, specified with a star wildcard, with or
  without an inferior qualifier, as in @var{inf}.@code{*} (e.g.,
  @samp{1.*}) or @code{*}.  The former refers to all threads of the
  given inferior, and the latter form without an inferior qualifier
  refers to all threads of the current inferior.

  @end enumerate

  For example, if the current inferior is 1, and inferior 7 has one
  thread with ID 7.1, the thread list @samp{1 2-3 4.5 6.7-9 7.*}
  includes threads 1 to 3 of inferior 1, thread 5 of inferior 4, threads
  7 to 9 of inferior 6 and all threads of inferior 7.  That is, in
  expanded qualified form, the same as @samp{1.1 1.2 1.3 4.5 6.7 6.8 6.9
  7.1}.

Then commands that accept a thread ID list xref here.

We'd do the same to breakpoint commands, i.e., commands that take
an breakpoint/location list would xref the description of breakpoint
lists.

See commit 5d5658a1d3c3 ("Per-inferior/Inferior-qualified thread IDs")
for how that looked like before support for '*' ranges was added.

(And now I wonder whether it'd make sense to model the breakpoint
number parsing on a simplified version of the thread ID number
parsing.  See gdb/tid-parse.h / tid_range_parser.)


Unfortunately I don't have enough time to work on a simplified version of the thread id number parsing in order to provide this enable/disable sub range feature. What I can add in my current patch is the support for .* notation if you think this is something really useful. Let me know what do you think so I can propose a new patch.

Regards.

Thanks,
Pedro Alves



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