[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] .gdbinit: load QEMU sub-commands when gdb start
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH] .gdbinit: load QEMU sub-commands when gdb starts |
Date: |
Tue, 16 May 2017 11:45:56 +0100 |
User-agent: |
Mutt/1.8.0 (2017-02-23) |
On Mon, May 15, 2017 at 03:17:28PM +0100, Alex Bennée wrote:
>
> Stefan Hajnoczi <address@hidden> writes:
>
> > The scripts/qemu-gdb.py file is not easily discoverable. Add a .gdbinit
> > file so GDB either loads qemu-gdb.py automatically or prints a message
> > informing the user how to enable them (some systems disable ./.gdbinit
> > loading for security reasons).
> >
> > Suggested-by: Eric Blake <address@hidden>
> > Signed-off-by: Stefan Hajnoczi <address@hidden>
> > ---
> > .gdbinit | 8 ++++++++
> > 1 file changed, 8 insertions(+)
> > create mode 100644 .gdbinit
> >
> > diff --git a/.gdbinit b/.gdbinit
> > new file mode 100644
> > index 0000000..9d322fc
> > --- /dev/null
> > +++ b/.gdbinit
> > @@ -0,0 +1,8 @@
> > +# GDB may have ./.gdbinit loading disabled by default. In that case you
> > can
> > +# follow the instructions it prints. They boil down to adding the
> > following to
> > +# your home directory's ~/.gdbinit file:
> > +#
> > +# add-auto-load-safe-path /path/to/qemu/.gdbinit
> > +
> > +# Load QEMU-specific sub-commands and settings
> > +source scripts/qemu-gdb.py
>
> While this works well enough you might as well just comment the helper
> script itself.
People don't know scripts/qemu-gdb.py exists so adding a comment there
doesn't help.
> Would this script take precedence over a users ~/.gdbinit?
All gdbinit files are loaded. The order in which they are loaded is:
1. System-wide
2. Home directory
3. Current directory
https://sourceware.org/gdb/onlinedocs/gdb/Startup.html#Startup
> How would it work for out-of-tree builds?
./.gdbinit assumes your current working directory is the root of the
QEMU source tree. If gdb is launched outside this directory then
nothing will happen (e.g. from arm-softmmu/ or from an out-of-tree
build).
I'm not sure if there is a simple way of making ./.gdbinit work from
out-of-tree build directories.
> GDB does have a mechanism for autoloading extensions by way of adding
> ELF sections:
>
>
> https://sourceware.org/gdb/current/onlinedocs/gdb/dotdebug_005fgdb_005fscripts-section.html#dotdebug_005fgdb_005fscripts-section
Hmm...this still requires the user to configure auto-load safe paths and
it hardcodes a path into the QEMU binary (execute in-place vs make
install generally wouldn't work with the same binary).
signature.asc
Description: PGP signature