This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Catchpoint in GDB/MI
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: Alain Magloire <alain at qnx dot com>
- Cc: gdb at sources dot redhat dot com
- Date: Tue, 6 May 2003 15:52:09 -0400
- Subject: Re: Catchpoint in GDB/MI
- References: <20030506164501.GA25457@nevyn.them.org> <200305061946.PAA03660@node1.ott.qnx.com>
On Tue, May 06, 2003 at 03:46:40PM -0400, Alain Magloire wrote:
> >
> > On Tue, May 06, 2003 at 12:12:10PM -0400, Alain Magloire wrote:
> > > >
> > > > On Tue, May 06, 2003 at 11:15:50AM -0400, Alain Magloire wrote:
> > > > > >
> > > > > > On Tue, May 06, 2003 at 10:50:47AM -0400, Alain Magloire wrote:
> > > > > > > Bonjour
> > > > > > >
> > > > > > > Anyone working on putting catchpoints in GDB/MI.
> > > > > > > If yes what is the semantics.
> > > > > > > If no what is the best semantic? Completely OOB:
> > > > > > >
> > > > > > > -catch load
> > > > > > > ^done
> > > > > > > ...
> > > > > > >
> > > > > > > *stop,reason="shared-loaded",shared="libm.so"
> > > > > >
> > > > > > Do we even have any targets besides HP/UX where shared library
> > > > > > catchpoints _work_?
> > > > >
> > > > > Probably none, in the gdb source tree. For example, catching exceptions
> > > > > is probably compiler dependent 8-( .. I think. Do remember Daniel Berlin
> > > > > proposing a scheme for gcc long long time ago, could not retrace the email
> > > > > though ... darn!
> > > >
> > > > I've actually added catchpoints for exceptions back; but they'll just
> > > > show up as breakpoints for now. If we want them to show up differently
> > > > someone's going to have to work out (both CLI and MI) what they should
> > > > look like.
> > > >
> > >
> > > Details please? 8-)
> > >
> > > Do you mean setting breakpoint on some special function used to throw
> > > exception __raise_exception(..)?
> > >
> > > How does it work ?
> >
> > Yes. It's __cxa_throw and __cxa_begin_catch; I only implemented them
> > for the GCC 3.x (i.e. multivendor) ABI. You can find the patch in the
> > archives if you want to know more :)
> >
>
> Are you refering to this:
> http://sources.redhat.com/ml/gdb/2002-07/msg00191.html
>
> Very informative, thanks.
>
> Reading your exchange, I probably can implement your scheme whithout
> having to change gdb; setting the breakpoint in __cxa_throw and examining
> the arguments.
>
> It seems straightforward enough, so why not put it in gdb? Unless
> of course I do not grasp the entire complexity of the problem 8-)
> True it is compiler specific unless the cxxabi becomes more widespread
> but at least a start.
No, I was referring to the message a few weeks ago where I checked in
support for "catch catch". It doesn't yet parse a type to catch but
that is easy to add once the FETCH_POINTER_ARGUMENT method is
available.
Alain, something is wrong with your mailer; I'm getting two copies with
different Message-Id's of everything you send me.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer