From: Doug Evans <dje@google.com>
To: Duane Ellis <duane@duaneellis.com>
Cc: Peter Griffin <peter.griffin@linaro.org>,
Andreas Arnez <arnez@linux.vnet.ibm.com>,
gdb <gdb@sourceware.org>, Lee Jones <lee.jones@linaro.org>
Subject: Re: RFC GDB Linux Awareness analysis
Date: Mon, 05 Oct 2015 18:32:00 -0000 [thread overview]
Message-ID: <CADPb22TLmmSNQwRGvcfYvNQT6S8Xu8B62=w=Qb4knQvUOLzmuA@mail.gmail.com> (raw)
In-Reply-To: <C3710EDE-BE47-48E0-8E38-D69A2EB6D7BD@duaneellis.com>
On Wed, Sep 30, 2015 at 9:41 AM, Duane Ellis <duane@duaneellis.com> wrote:
> I would offer the following for GDB Kernel Dump analysis - there is *a*lot* more that is needed.
> ...
> 3) GDB - generally as stated in the caldron slide deck is a “application debugger” it is not a bare metal debugger
> I cannot agree with this more - and it is a fundamental limitation for GDB
The extent to which gdb is not a bare metal debugger is IMO mostly
driven by patches.
Application level debugging gets more attention.
But if reasonable patches came our way I would certainly approve them.
[The devil is, again, in the details of course.
One of the harder parts of hacking on gdb is that you can't break, or
make harder,
any of the other of the myriad of supported use cases, some of which are so
old it's a crime that we're still having to put time into them (IMO).]
> 4) In the bare metal world - GDB has a really big (fundamental) problem - GDB thinks an address is a integer
This has been an off and on discussion in gdb since at least as far
back as Cygnus days. :-)
No disagreement here that we have the wrong kind of abstraction for an address.
> 6) Lots of the above needs to be scripted (i.e.: Python is a great solution here, but is not always present)
> And - these scripts could be provided by the Linux Kernel build process
> Specifically: The kernel build process should produce an architecture/build-specific data file with structure definition
> These scripts that I talk about, could read the ‘build-specific’ data file
> (more about this later)
I'd like to see a world where we actually open up gdb innards more,
instead of providing
an API on top of a closed system. The scripting possibilities would
increase by at least
an order of magnitude.
> 7) A good example of scripting is during postmortem debug
> GDB cannot call (execute) a helper function within the target because the target is not “live”
Depends on what the helper function does of course.
E.g., it's possible to resurrect a corefile (assuming it hasn't been
truncated, etc.)
enough to run a pretty-printer contained in the app (as opposed to in python).
> 4) GDB does not currently expose enough via the scripting interface
> As I stated above - attitudes need to change about GDB
No disagreement here.
next prev parent reply other threads:[~2015-10-05 18:32 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20150603142858.GA19370@griffinp-ThinkPad-X1-Carbon-2nd>
2015-08-20 18:22 ` Andreas Arnez
2015-09-30 13:27 ` Peter Griffin
2015-09-30 16:41 ` Duane Ellis
2015-10-05 18:32 ` Doug Evans [this message]
2015-10-01 9:25 ` Yao Qi
2015-10-02 10:56 ` Andreas Arnez
2015-10-05 18:54 duane
2015-10-05 19:41 ` Doug Evans
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='CADPb22TLmmSNQwRGvcfYvNQT6S8Xu8B62=w=Qb4knQvUOLzmuA@mail.gmail.com' \
--to=dje@google.com \
--cc=arnez@linux.vnet.ibm.com \
--cc=duane@duaneellis.com \
--cc=gdb@sourceware.org \
--cc=lee.jones@linaro.org \
--cc=peter.griffin@linaro.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