public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <drow@mvista.com>
To: Andrew Cagney <ac131313@redhat.com>
Cc: Jim Ingham <jingham@apple.com>, gdb@sources.redhat.com
Subject: Re: gdb Digest 26 Mar 2003 19:03:48 -0000 Issue 1129
Date: Fri, 28 Mar 2003 23:56:00 -0000	[thread overview]
Message-ID: <20030328235634.GA5920@nevyn.them.org> (raw)
In-Reply-To: <3E84D706.3060708@redhat.com>

On Fri, Mar 28, 2003 at 06:13:10PM -0500, Andrew Cagney wrote:
> >>Andrew,
> >>
> >>Addressing this problem - driven by the needs of C++ developers - is 
> >>something I was lobbying for time to do during this release cycle.  But 
> >>it got put off in favor of solving performance issues in gdb instead.  
> >>However, for the next one (starting post June) release cycle I will 
> >>probably get more time to look at this.
> >>
> >>I don't think we can just hide the physical breakpoints from the user 
> >>however.  It would be very useful to be able to say
> >>
> >>(gdb) break FileFullOfTemplates.cc:27
> >>
> >>then decide that "no you weren't interested in the int specialization 
> >>only the double one", or whatever...  So being able to peer into the 
> >>contents of the user-lever breakpoint is a good thing.  OTOH, I should 
> >>certainly be able to disable this breakpoint and not hit it for any 
> >>variant...
> >>
> 
> >True.  Being able to manipulate the mapping will also be useful.
> 
> brain enganges.  It's more complicated.  If I understand this correctly.
> 
> (gdb) break FileFullOfTemplates.hh:27
> 
> The user might mean:
> 
> - the line number
> - a template instance
> - all inline function instances
> - (I'm sure there is more)

Right.  The big thing this means is that we need to think about the
interface.  Asking isn't a real option.  For instance, in the Linux
kernel, if you break on (say) i386's inlined get_current function - if
we could ever handle that - there'd probably be millions of locations.
This requires:
  - scaling the implementation; if we remove a million breakpoints at
    every stop then we're going to lose.
  - scaling the interface; if we ask a million questions the user will
    give up.

> Either way, I think these are high-level table entries.  The user could 
> certainly view the mapping:
> 
> maint print breakpoint
> Breakpoint 1 <template a::foo>FileFullOfTemplates.hh:27 at
> 0x123 (b.cc:27), 0x234 (b.c:28), ...
> 
> but the manipulation would still typically be high level.

This suggests that we need three levels then.

Does anyone know how other debuggers handle this?  I'm sure we're not
the first but it's been ages since I used a non-GDB debugger for
anything.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

  reply	other threads:[~2003-03-28 23:56 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1048705428.15342.ezmlm@sources.redhat.com>
2003-03-26 19:37 ` Jim Ingham
2003-03-28 22:49   ` Andrew Cagney
2003-03-28 23:13     ` Andrew Cagney
2003-03-28 23:56       ` Daniel Jacobowitz [this message]
2003-03-29  0:49         ` Andrew Cagney
2003-03-29  0:58           ` Daniel Jacobowitz
2003-03-29  1:32             ` Andrew Cagney
2003-03-29  3:30             ` Jim Ingham

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=20030328235634.GA5920@nevyn.them.org \
    --to=drow@mvista.com \
    --cc=ac131313@redhat.com \
    --cc=gdb@sources.redhat.com \
    --cc=jingham@apple.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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).