3 # GDB debugging support
5 # Copyright 2012 Red Hat, Inc. and/or its affiliates
8 # Avi Kivity <avi@redhat.com>
10 # This work is licensed under the terms of the GNU GPL, version 2. See
11 # the COPYING file in the top-level directory.
13 # Contributions after 2012-01-13 are licensed under the terms of the
14 # GNU GPL, version 2 or (at your option) any later version.
17 # At the (gdb) prompt, type "source scripts/qemu-gdb.py".
18 # "help qemu" should then list the supported QEMU debug support commands.
24 # Annoyingly, gdb doesn't put the directory of scripts onto the
25 # module search path. Do it manually.
27 sys
.path
.append(os
.path
.dirname(__file__
))
29 from qemugdb
import aio
, mtree
, coroutine
31 class QemuCommand(gdb
.Command
):
32 '''Prefix for QEMU debug support commands'''
34 gdb
.Command
.__init
__(self
, 'qemu', gdb
.COMMAND_DATA
,
35 gdb
.COMPLETE_NONE
, True)
38 coroutine
.CoroutineCommand()
42 coroutine
.CoroutineSPFunction()
43 coroutine
.CoroutinePCFunction()
45 # Default to silently passing through SIGUSR1, because QEMU sends it
47 gdb
.execute('handle SIGUSR1 pass noprint nostop')