On Thu, Sep 12, 2013 at 9:46 PM, Laszlo Ersek <ler...@redhat.com> wrote: > When qemu dies unexpectedly, for example in response to an explicit > abort() call, or (more importantly) when an external signal is delivered > to it that results in a coredump, sometimes it is useful to extract the > guest vmcore from the qemu process' memory image. The guest vmcore might > help understand an emulation problem in qemu, or help debug the guest. > > This script reimplements (and cuts many features of) the > qmp_dump_guest_memory() command in gdb/Python, > > https://sourceware.org/gdb/current/onlinedocs/gdb/Python-API.html > > working off the saved memory image of the qemu process. The docstring in > the patch (serving as gdb help text) describes the limitations relative to > the QMP command. > > Dependencies of qmp_dump_guest_memory() have been reimplemented as needed. > I sought to follow the general structure, sticking to original function > names where possible. However, keeping it simple prevailed in some places. > > The patch has been tested with a 4 VCPU, 768 MB, RHEL-6.4 > (2.6.32-358.el6.x86_64) guest:
I tried this out with qemu-kvm-1.1.2 and it worked after a few minor tweaks due to memory data structure changes. I did hit a problem with crash since the vmlinux was 32-bit and the guest dump was 64-bit. But from what I can tell dump-guest-memory works as advertised. Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com>