On 2015-05-15 15:21, Markus Armbruster wrote: > Jan Kiszka <jan.kis...@siemens.com> writes: > >> On 2015-05-15 14:18, Markus Armbruster wrote: >>> Peter Maydell <peter.mayd...@linaro.org> writes: >>> >>>> On 15 May 2015 at 08:58, Markus Armbruster <arm...@redhat.com> wrote: >>>>> Since you're touching qemu-gdb.py anyway, could you stick in a brief >>>>> comment explaining how to put it to use? >>>> >>>> Good idea. It turns out the answer is just "source it from gdb", >>>> but it took me a little while to find that out, so worth commenting. >>>> I also have a patch which makes it do the 'ignore SIGUSR1' bit >>>> by doing 'handle SIGUSR1 pass noprint nostop' for you. >>> >>> Here's how to load scripts/qemu-gdb.py automatically: >>> >>> * Apply the appended patch to turn it into a gdb init file >>> >>> That's what it is, after all. It's not a standalone Python program. >>> >>> * Tell gdb to trust it >>> >>> Add a line like >>> >>> add-auto-load-safe-path ~/work/qemu/scripts/qemu-gdb.py >>> >>> to your ~/.gdbinit >>> >>> * Link it into the directory where you run gdb --args qemu... >>> >>> * Verify it works: >>> >>> $ gdb >>> [...] >>> (gdb) help qemu >>> Prefix for QEMU debug support commands >>> >>> List of qemu subcommands: >>> >>> qemu coroutine -- Display coroutine backtrace >>> qemu mtree -- Display the memory tree hierarchy >>> >>> Type "help qemu" followed by qemu subcommand name for full >>> documentation. >>> Type "apropos word" to search for commands related to "word". >>> Command name abbreviations are allowed if unambiguous. >>> (gdb) >>> >>> If you know a better way to do this, please post it. >>> >> >> Yep, that's the basic idea behind gdb python scripts: myapp-gdb.py gets >> auto-pulled on "gdb myapp". Since some gdb 7.x, we have that security >> feature above which prevents pulling from arbitrary sources. >> >>> >>> diff --git a/scripts/qemu-gdb.py b/scripts/qemu-gdb.py >>> index 6c7f4fb..ac3087c 100644 >>> --- a/scripts/qemu-gdb.py >>> +++ b/scripts/qemu-gdb.py >>> @@ -1,5 +1,3 @@ >>> -#!/usr/bin/python >>> - >>> # GDB debugging support >>> # >>> # Copyright 2012 Red Hat, Inc. and/or its affiliates >>> @@ -13,7 +11,7 @@ >>> # Contributions after 2012-01-13 are licensed under the terms of the >>> # GNU GPL, version 2 or (at your option) any later version. >>> >>> - >>> +python >> >> What is this line doing? > > Found here: > https://stackoverflow.com/questions/16553283/python-code-in-gdb-init-file-gdbinit
The author there puts his code into .gdbinit, which is a gdb script, not a python one. > > It doesn't work for me without it. When sourcing? Works fine here (gdb 7.7.something). In any case, when you pull in the script via auto-load, that extra non-python statement will break. Try "python python". ;) Jan -- Siemens AG, Corporate Technology, CT RTC ITP SES-DE Corporate Competence Center Embedded Linux