Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <palves@redhat.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: pmuldoon@redhat.com, gdb@sourceware.org
Subject: Re: Multiple locations and breakpoints confusion.
Date: Wed, 02 May 2018 16:27:00 -0000	[thread overview]
Message-ID: <b4988d5c-e9d8-441a-2da3-ffae7d3f5697@redhat.com> (raw)
In-Reply-To: <a23e3582-97e3-6c63-0447-02884726b4de@redhat.com>

On 05/02/2018 05:15 PM, Pedro Alves wrote:
> On 05/02/2018 04:13 PM, Eli Zaretskii wrote:
>>> From: Pedro Alves <palves@redhat.com>
>>> Date: Tue, 1 May 2018 20:32:28 +0100
>>>
>>> IMO, it's working as intended.
>>
>> I agree that it's working as intended, but I think the UI is
>> confusing.
>>
>>> Maybe it'd help if we would come up with some concise
>>> way to display a location as enabled-but-note-parent-is-disabled
>>> differently, like with a different letter or some extra character
>>> or something like that.
>>
>> If disabling the parent disables all of its children, why not show all
>> of the children disabled when the parent is disabled?  IOW, why can't
>> we make the y/n display use the same logic as the one used when
>> deciding whether a breakpoint at a particular location is disabled?

> That loses information, i.e., one can't tell which ones were explicitly
> disabled, and will be re-enabled.  Really can't see why that's better
> and more desirable.  And it'd still be confusing to someone -- "why is
> it that when I disable the parent, all its locations show as disabled,
> but when I enable the parent, only some locations show as enabled,
> why not all?" would then be a legitimate question.


To expand on the "losing information" aspect, as an example,
you may want to enable the individual locations of the
breakpoints with the parent breakpoint disabled, then e.g.,
add a condition and commands to the (parent) breakpoint, and then
finally enable the breakpoint.  Not being able to see effect
of the location enablement in the enabled state of locations
in "info breakpoints" while the parent is disabled seems
undesirable to me.  Like e.g.:

 (gdb) disable 1.1-2
 (gdb) disable 1
 (gdb) enable 1.1
 (gdb) info breakpoints 
 Num     Type           Disp Enb Address            What
 1       breakpoint     keep n   <MULTIPLE>         
 1.1                         y     0x00000000004004b3 in multiple_test::foo(int) at multiple.cpp:10
 1.2                         n     0x00000000004004c3 in multiple_test::foo(double) at multiple.cpp:15

Here, it seems very desirable to me to be able to tell that
location 1.1 is going to be enabled if I decide to enable breakpoint 1.

Thanks,
Pedro Alves


  reply	other threads:[~2018-05-02 16:27 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-01  8:15 Phil Muldoon
2018-05-01 19:32 ` Pedro Alves
2018-05-02 15:13   ` Eli Zaretskii
2018-05-02 16:15     ` Pedro Alves
2018-05-02 16:27       ` Pedro Alves [this message]
2018-05-02 16:42         ` Keith Seitz
2018-05-02 16:33       ` Eli Zaretskii
2018-05-02 16:43         ` Pedro Alves
2018-05-02 16:49           ` Joel Brobecker
2018-05-02 18:18             ` Phil Muldoon
2018-05-02 18:42               ` Pedro Alves

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=b4988d5c-e9d8-441a-2da3-ffae7d3f5697@redhat.com \
    --to=palves@redhat.com \
    --cc=eliz@gnu.org \
    --cc=gdb@sourceware.org \
    --cc=pmuldoon@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