public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Pedro Alves <pedro@palves.net>
To: Eli Zaretskii <eliz@gnu.org>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH 0/2] info breakpoints improvements
Date: Tue, 24 May 2022 14:45:42 +0100	[thread overview]
Message-ID: <724f9c18-2a1f-de3e-b4fc-6c680a20194c@palves.net> (raw)
In-Reply-To: <83h75f5ayf.fsf@gnu.org>

On 2022-05-24 14:14, Eli Zaretskii wrote:
>> Date: Mon, 23 May 2022 18:06:22 +0100
>> Cc: gdb-patches@sourceware.org
>> From: Pedro Alves <pedro@palves.net>
>>
>>>>  (top-gdb) info breakpoints
>>>>  Num     Type           Disp Enb Address            What
>>>>  1       breakpoint     keep y                      internal_error
>>>>   1.1                        y   0x00000000005755a5 in internal_error(char const*, int, char const*, ...) at src/gdb/common/errors.c:54
>>>>  2       breakpoint     keep y                      -qualified internal_error
>>>>   2.1                        y   0x00000000005755a5 in internal_error(char const*, int, char const*, ...) at src/gdb/common/errors.c:54
>>>>  3       breakpoint     keep y                      errors.c:54
>>>>   3.1                        y   0x00000000005755a5 in internal_error(char const*, int, char const*, ...) at src/gdb/common/errors.c:54
>>>>   3.2                        y   0x00007ffff6d50410 in PyErr_SetObject at /usr/src/debug/python2-2.7.15-4.fc27.x86_64/Python/errors.c:54
>>>>  4       breakpoint     keep y                      gdb.c:27
>>>>   4.1                        y   0x000055555564107b in main(int, char**) at src/gdb/gdb.c:28
>>>>  (top-gdb)
>>>
>>> I must confess that the new display is much more cluttered, and
>>> includes redundant information, so it's harder to read.  It also makes
>>> the important stuff harder to find.  Why exactly is this deemed as
>>> improvement, and in particular, why would we want this behavior as the
>>> default?  (I won't mind to have this as opt-in behavior, if someone
>>> finds this useful in some situations.)
>>
>> None of the information is actually redundant.  The "Enb" column shows
>> a different "y", as you can disable a whole breakpoint, or its locations
>> independently.
> 
> In the "usual" case, such as the one below:
> 
>>>>  4       breakpoint     keep y                      gdb.c:127
>>>>   4.1                        y   0x000055555564107b in main(int, char**) at src/gdb/gdb.c:127
> 
> one of the two "y"s is redundant, as well as one of the two
> "gdb.c:127"s.  And in this case:
> 
>>>  1       breakpoint     keep y                      internal_error
>>>   1.1                        y   0x00000000005755a5 in internal_error(char const*, int, char const*, ...) at src/gdb/common/errors.c:54
> 
> the "internal_error" part of the "header row" is also redundant.
> 

Well, with that view, this is very hard to discuss.  The example quoted 
at the top shows that breakpoints 1 through 3 all have the same breakpoint
location in internal_error at src/gdb/common/errors.c:54 , yet, they were all
specified differently.  There is no way to distinguish them in the CLI today.

"internal_error" alone is not a source location, it's just a way to tell
GDB to find the locations where that function exists.  It's just a function name.
The source location is the address, filename and line number tuple.

>> The "What" column is showing different things for the breakpoint
>> and its locations.
> 
> Different, but in many cases quite similar, with many common parts.

Sure.  But not always, and thus I find it important to show the missing
info, so we can tell which is which.

>> So, a more concise display may be interesting, but I'd like to think of it as
>> a separate feature.
> 
> It's okay to disagree about user perspectives on what a "concise"
> display should and should not have.  I thought that providing the
> perspective of one (heavy) user of GDB on this will help make the
> discussion more objective and balanced.  Apologies if that is not
> useful.

I accept your feedback, and concede that it may be interesting to have
a mode that prints a more concise display.  But I find it a different feature.
Nothing prevents you or someone else from adding some "info breakpoints -concise"
option.  It would be up to debate what exactly does "concise" show, e.g., whether that
would mean we print the breakpoint's commands too, for example.  For me, I would like
a flag that only suppresses the locations and nothing else, and that is very easy
to specify (there's no scope for divergence on what "hiding locations" means)
so that's what I am proposing.

  reply	other threads:[~2022-05-24 13:45 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-19 21:55 Pedro Alves
2022-05-19 21:55 ` [PATCH 1/2] Always show locations for breakpoints & show canonical location spec Pedro Alves
2022-05-20  6:45   ` Eli Zaretskii
2022-05-23 17:04     ` [PATCH v2 " Pedro Alves
2022-05-24 13:06       ` Eli Zaretskii
2022-05-25 19:32         ` Pedro Alves
2022-05-26 12:48           ` Eli Zaretskii
2022-05-26 14:04             ` Pedro Alves
2022-05-26 15:03               ` Eli Zaretskii
2022-05-26 15:10                 ` Pedro Alves
2022-05-26 15:33                   ` Eli Zaretskii
2022-05-26 19:29                 ` Pedro Alves
2022-05-26 19:55                   ` Eli Zaretskii
2022-05-26 20:40                     ` Pedro Alves
2023-04-10 15:07                   ` Andrew Burgess
2022-05-20  7:45   ` [PATCH " Metzger, Markus T
2022-05-23 17:05     ` Lancelot SIX
2022-05-19 21:55 ` [PATCH 2/2] Introduce "info breakpoints -hide-locations" Pedro Alves
2022-05-20  6:48   ` Eli Zaretskii
2022-05-20  5:57 ` [PATCH 0/2] info breakpoints improvements Eli Zaretskii
2022-05-23 17:06   ` Pedro Alves
2022-05-24 13:14     ` Eli Zaretskii
2022-05-24 13:45       ` Pedro Alves [this message]
2022-05-24  8:38 ` Luis Machado
2022-05-24 10:02   ` Pedro Alves
2022-05-24 13:20     ` Eli Zaretskii
2022-05-24 13:29       ` Pedro Alves
2022-05-24 13:43         ` Eli Zaretskii
2022-05-24 13:50           ` Pedro Alves
2022-05-24 14:03             ` Eli Zaretskii
2022-05-24 14:09               ` Pedro Alves
2022-05-24 14:25                 ` Eli Zaretskii
2022-05-24 14:33                   ` Pedro Alves
2022-05-24 14:11               ` Andreas Schwab
2022-05-24 14:17                 ` Pedro Alves
2022-05-24 19:49                   ` [PATCH] Show enabled locations with disabled breakpoint parent as "y-" (Re: [PATCH 0/2] info breakpoints improvements) Pedro Alves
2022-05-25 13:57                     ` Eli Zaretskii
2022-05-25 19:19                       ` Pedro Alves
2022-05-24 14:26                 ` [PATCH 0/2] info breakpoints improvements 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=724f9c18-2a1f-de3e-b4fc-6c680a20194c@palves.net \
    --to=pedro@palves.net \
    --cc=eliz@gnu.org \
    --cc=gdb-patches@sourceware.org \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).