From: Mark Kettenis <mark.kettenis@xs4all.nl>
To: brobecker@adacore.com
Cc: Wiljan.Derks@zonnet.nl, gdb@sourceware.org
Subject: Re: How to tell gdb about dlls using remote protocol
Date: Wed, 07 Feb 2007 22:14:00 -0000 [thread overview]
Message-ID: <200702072214.l17MER45023107@brahms.sibelius.xs4all.nl> (raw)
In-Reply-To: <20070201175311.GG17864@adacore.com> (message from Joel Brobecker on Thu, 1 Feb 2007 09:53:11 -0800)
> X-Spam-Check-By: sourceware.org
> Date: Thu, 1 Feb 2007 09:53:11 -0800
> From: Joel Brobecker <brobecker@adacore.com>
> Content-Disposition: inline
> Mailing-List: contact gdb-help@sourceware.org; run by ezmlm
> Sender: gdb-owner@sourceware.org
> X-UTwente-MailScanner-Information: Scanned by MailScanner. Contact helpdesk@ITBE.utwente.nl for more information.
> X-UTwente-MailScanner: Found to be clean
> X-UTwente-MailScanner-From: gdb-return-27623-m.m.kettenis=alumnus.utwente.nl@sourceware.org
> X-Spam-Status: No
> X-XS4ALL-DNSBL-Checked: mxdrop39.xs4all.nl checked 130.89.2.13 against DNS blacklists
> X-Virus-Scanned: by XS4ALL Virus Scanner
> X-XS4ALL-Spam-Score: -2.0 () DK_POLICY_SIGNSOME,RCVD_IN_NLWHITE
> X-XS4ALL-Spam: NO
> Envelope-To: mark.kettenis@xs4all.nl
> X-UIDL: 1170352362._smtp.mxdrop39.85044,S=5181
>
>
> --vkogqOf2sHV7VnPd
> Content-Type: text/plain; charset=us-ascii
> Content-Disposition: inline
>
> Hi Daniel,
>
> > > The problem that I have run into, is that I can find no way to let gdb know
> > > what dll's are inside the
> > > debugee using the remote protocol.
> > >
> > > Does anyone know if there is a way to do this ?
> >
> > There's no way to do this yet. If you look at the list archives for
> > the last several months, you'll see a patch (in the "GDB solib
> > interface" thread) that implements something which might help. But it
> > hasn't been finalized or committed yet (sorry Stephen - I just haven't
> > had time).
>
> This makes me wonder how well the debugger can work in certain
> situations like when backtracing from DLL code. If the debugger
> doesn't know where it is, then it's probably let to prologue analysis
> to do the unwinding. Except that it cannot determine where the prologue
> is... In that case, I see that the i386 unwinder assumes that the frame
> base can be deduced from the SP and the SP offset. Unfortunately,
> this SP offset can only be deduced from prologue analysis. Catch 22?
>
> Mark,
>
> What do you think of this (untested) patch? We we couldn't find
> the function start address, the safest seems to be relying on ebp.
I think this diff makes sense. However, I'm pretty sure there are
Linux systems out there where this will make things worse :(. In
particular, on kernels with a vsyscall page buit without the stub
shared library for that page, this change will systematically skip a
frame. And that frame is quite crucial since it is the frame for the
libc system call stub, so it will be hard for a user to find out in
what system call the program is blocked on.
I have no idea though how many people are still runing those kernels.
That number might be very low enough for us not to care.
Mark
next prev parent reply other threads:[~2007-02-07 22:14 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-31 21:08 Wiljan Derks
2007-01-31 22:31 ` Daniel Jacobowitz
2007-02-01 17:52 ` Joel Brobecker
2007-02-01 22:54 ` Daniel Jacobowitz
2007-02-01 23:02 ` Joel Brobecker
2007-02-01 23:59 ` Daniel Jacobowitz
2007-02-02 6:20 ` Robert Dewar
2007-02-02 11:43 ` Daniel Jacobowitz
2007-02-02 16:51 ` Joel Brobecker
2007-02-02 16:56 ` Daniel Jacobowitz
2007-02-02 17:34 ` Joel Brobecker
2007-02-05 20:34 ` Wiljan Derks
2007-02-05 21:21 ` Joel Brobecker
2007-02-07 21:47 ` Mark Kettenis
2007-02-07 22:14 ` Mark Kettenis [this message]
2007-02-07 22:17 ` Daniel Jacobowitz
2007-02-08 21:14 ` Mark Kettenis
2007-02-08 23:00 ` Daniel Jacobowitz
2007-02-14 8:51 ` Joel Brobecker
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=200702072214.l17MER45023107@brahms.sibelius.xs4all.nl \
--to=mark.kettenis@xs4all.nl \
--cc=Wiljan.Derks@zonnet.nl \
--cc=brobecker@adacore.com \
--cc=gdb@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