Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Jim Ingham <jingham@apple.com>
To: gdb-patches@sources.redhat.com
Subject: Re: RFA: Breakpoint infrastructure cleanups [0/8]
Date: Thu, 16 Oct 2003 18:58:00 -0000	[thread overview]
Message-ID: <E653D826-000A-11D8-BB88-000A958F4C44@apple.com> (raw)
In-Reply-To: <1066321046.18949.ezmlm@sources.redhat.com>


On Oct 16, 2003, at 9:17 AM, gdb-patches-digest-help@sources.redhat.com 
wrote:

>>>> And MI? what should we do there? the same 3 cases occur.  I would
>>>> think that MI could just tell the gui everything every time, and 
>>>> then
>>>> the GUI could decide to display what it wants.
>>>
>>> Probably.
>>>
>>>> However that's a lot
>>>> of information sent back and forth, maybe for no real advantage. So
>>>> maybe a two-tier command set is needed there too.
>>>
>>> Yes, probably.
>>
>> These make sense to me also.
>>
>
> I'd like to hear from MI users otherwise we'll be designing in a 
> vacuum.
> I'll send something to the eclipse folks.
>
>

I think in all cases the UI will want to know about the multiple hits.

One case that would be very useful is a single breakpoint that turns 
into many logically distinct entities.  For instance, breaking on a 
file & line in a template function or class method turns into 
breakpoints on all the instantiations of that template function/method. 
  In this case the GUI really would be interested in this, since it 
would be useful to display these choices to the user and have her pick 
which ones she actually wants.

The other is where the multiple breakpoints are not really distinct.  
An example of this is breaking on an inlined function.  Without 
expanding inlined calls in the source view of the call sites, knowing 
where all the breakpoints are in source view is not terribly helpful.  
But if somebody switches to Assembly view, we had better show them the 
breakpoints that have been set or they will get very confused...

So I think we do need them.

Our experience with MI is that as long as the information dump is not 
too large, multiple round trips are more expensive than lots of info.  
Parsing the MI output is pretty quick.  I bet if we start getting 
~1000's of breakpoints the time gdb spends finding all the instances 
will swamp the time it takes to ship them across the pipe...  So my 
guess is that doing it simply and just telling the user about all the 
breakpoints as they are set is okay.

The one thing we do need to be careful about is to not reset all the 
breakpoints in all the shared libraries each time a new one is loaded.  
This is the current gdb behavior, but it will quickly get very 
inefficient as the number of shared libraries & breakpoints therein 
increase.  It is pretty easy to get around this with a little judicial 
hacking, however.

Jim
--
Jim Ingham                                   jingham@apple.com
Developer Tools
Apple Computer


       reply	other threads:[~2003-10-16 18:58 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1066321046.18949.ezmlm@sources.redhat.com>
2003-10-16 18:58 ` Jim Ingham [this message]
2003-10-16 23:30   ` Michael Snyder
2003-10-16 19:02 ` Jim Ingham
2003-10-17  7:04   ` Eli Zaretskii
2003-10-17 16:55     ` Jim Ingham
2003-10-15 22:14 Michael Elizabeth Chastain
2003-10-15 22:36 ` Michael Snyder
  -- strict thread matches above, loose matches on Subject: below --
2003-10-15 19:48 Michael Elizabeth Chastain
2003-10-15 22:00 ` Michael Snyder
     [not found] <1065728983.12011.ezmlm@sources.redhat.com>
2003-10-09 20:01 ` Jim Ingham
2003-10-08 16:55 Daniel Jacobowitz
2003-10-08 17:33 ` Elena Zannoni
2003-10-08 19:04   ` Andrew Cagney
2003-10-08 19:07     ` Daniel Jacobowitz
2003-10-08 19:44       ` David Carlton
2003-10-08 20:36         ` Elena Zannoni
2003-10-08 19:49       ` Andrew Cagney
2003-10-08 18:07 ` Jim Blandy
2003-10-08 18:23   ` Joel Brobecker
2003-10-08 19:05   ` Daniel Jacobowitz
2003-10-08 19:52     ` Andrew Cagney
2003-10-08 20:30       ` Daniel Jacobowitz
2003-10-08 21:09         ` Andrew Cagney
2003-10-08 21:11           ` Daniel Jacobowitz
2003-10-08 21:40             ` Elena Zannoni
2003-10-08 22:28             ` Andrew Cagney
2003-10-09 19:19       ` Michael Snyder
2003-10-14  1:38         ` Daniel Jacobowitz
2003-10-14 15:40           ` Andrew Cagney
2003-10-14 15:46             ` David Carlton
2003-10-14 15:51             ` Daniel Jacobowitz
2003-10-14 16:27               ` Elena Zannoni
2003-10-14 20:45               ` Michael Snyder
2003-10-15 15:02                 ` Andrew Cagney
2003-10-15 18:20                   ` Michael Snyder
2003-10-15 18:30                     ` Andrew Cagney
2003-10-15 22:19                       ` Michael Snyder
2003-10-15 22:23                         ` Andrew Cagney
2003-10-15 22:37                           ` Michael Snyder
2003-10-15 18:56                     ` Elena Zannoni
2003-10-16  6:59                       ` Eli Zaretskii
2003-10-16 13:11                         ` Daniel Jacobowitz
2003-10-16 14:08                           ` Paul Koning
2003-10-16 14:21                           ` Elena Zannoni
2003-10-16 15:54                             ` Eli Zaretskii
2003-10-16 23:20                               ` Michael Snyder
2003-10-16 23:18                             ` Michael Snyder
2003-10-16 15:45                           ` Eli Zaretskii
2003-10-16 23:14                           ` Michael Snyder
2003-10-15 22:41                 ` Daniel Jacobowitz
2003-10-16  6:55                   ` Eli Zaretskii
2003-10-16 14:25                     ` Andrew Cagney
2003-10-16 16:02                       ` Eli Zaretskii
2003-10-16 23:24                         ` Michael Snyder
2003-10-17  6:46                           ` Eli Zaretskii
2003-10-17 21:38                             ` Michael Snyder
2003-10-18  8:43                               ` Eli Zaretskii
2003-10-20 18:48                                 ` Michael Snyder
2003-10-16 16:16                       ` Daniel Jacobowitz
2003-10-16 18:20                         ` Andrew Cagney
2003-10-16 16:03                   ` David Carlton
2003-10-16 16:17                     ` Daniel Jacobowitz
2003-10-08 20:55     ` Elena Zannoni
2003-10-08 20:59       ` Daniel Jacobowitz
2003-10-09  6:09     ` Eli Zaretskii
2003-10-09 14:08       ` Daniel Jacobowitz
2003-10-09 17:02         ` Eli Zaretskii
2003-10-09 19:41           ` Daniel Jacobowitz
2003-10-19 16:43           ` Andrew Cagney
2003-10-09 19:33         ` Michael Snyder
2003-10-08 19:38   ` David Carlton
2003-10-08 21:00     ` Daniel Jacobowitz
2003-10-09  6:07     ` Eli Zaretskii
2003-10-08 18:26 ` Eli Zaretskii
2003-10-08 19:09   ` Daniel Jacobowitz
2003-10-19 15:55 ` Andrew Cagney
2003-10-19 16:39   ` Eli Zaretskii
2003-10-30  5:49     ` Daniel Jacobowitz
2003-11-03 18:00       ` Daniel Jacobowitz
2003-11-04 19:57       ` Michael Snyder

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=E653D826-000A-11D8-BB88-000A958F4C44@apple.com \
    --to=jingham@apple.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