[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] extend qemu-dm.debug to use ddd for device model debugging
Andrew D. Ball wrote: This patch modifies the qemu-dm.debug shell script to call ddd. I have tested it with xm-test against xen-unstable.hg changeset 8497, with no evidence of regression. Andrew ================== Andrew D. Ball aball@xxxxxxxxxx 'Festina lente' Add support to the qemu-dm.debug script to launch a ddd window running gdb on the device model for fully virtualized domU's. Signed-off-by: Chip Blach <chipper@xxxxxxxxxx> Signed-off-by: Andrew D. Ball <aball@xxxxxxxxxx> diff -r 9efe7eb108e1 tools/examples/xmexample.vmx --- a/tools/examples/xmexample.vmx Wed Jan 4 17:51:38 2006 +++ b/tools/examples/xmexample.vmx Thu Jan 5 18:10:24 2006 @@ -100,6 +100,15 @@ # New stuff device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm'+# Use this instead for device model debugging [launches ddd in a new window +# for qemu-dm]+#+# To get debugging symbols in qemu-dm, you can copy +# tools/ioemu/target-i386-dm/qemu-dm from a built Xen source tree to+# /usr/lib/xen/bin/qemu-dm or /usr/lib64/xen/bin/qemu-dm , depending +# on where your qemu-dm sits +#device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm.debug' + #-----------------------------------------------------------------------------# Disk image for diff -r 9efe7eb108e1 tools/ioemu/target-i386-dm/qemu-dm.debug--- a/tools/ioemu/target-i386-dm/qemu-dm.debug Wed Jan 4 17:51:38 2006 +++ b/tools/ioemu/target-i386-dm/qemu-dm.debug Thu Jan 5 18:10:24 2006 @@ -1,5 +1,26 @@ -#!/bin/sh +#!/bin/bash +# Subject to GPL version 2 license. +# +# Chip Blach <chipper@xxxxxxxxxx> +# Andrew D. Ball <aball@xxxxxxxxxx>+ +cd ~root # why does ~ mean '/' instead of '/root' here? ~/ expands to the current users home directory. ~word expands to user word's home directory. You may want to check for ddd and just invoke gdb if ddd is not available. Regards, Anthony Liguori -echo $* > /tmp/args -echo $DISPLAY >> /tmp/args -exec /usr/lib/xen/bin/qemu-dm $* +if [[ -z "$IOEMU" ]]+then + # Guess where the device model (qemu-dm) sits, based+ # on architecture + if [[ $(uname -p) == 'x86_64' ]] + then + IOEMU=/usr/lib64/xen/bin/qemu-dm + else + IOEMU=/usr/lib/xen/bin/qemu-dm + fi +fi + +# set up gdb +echo "file $IOEMU" > ioemu_debug +echo "set args $@" >> ioemu_debug +echo "break main" >> ioemu_debug + +nohup ddd --gdb --debugger "gdb -x ioemu_debug" &------------------------------------------------------------------------ Add support to the qemu-dm.debug script to launch a ddd window running gdb on the device model for fully virtualized domU's. Signed-off-by: Chip Blach <chipper@xxxxxxxxxx> Signed-off-by: Andrew D. Ball <aball@xxxxxxxxxx> diff -r 9efe7eb108e1 tools/examples/xmexample.vmx --- a/tools/examples/xmexample.vmx Wed Jan 4 17:51:38 2006 +++ b/tools/examples/xmexample.vmx Thu Jan 5 18:10:24 2006 @@ -100,6 +100,15 @@ # New stuff device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm'+# Use this instead for device model debugging [launches ddd in a new window +# for qemu-dm]+#+# To get debugging symbols in qemu-dm, you can copy +# tools/ioemu/target-i386-dm/qemu-dm from a built Xen source tree to+# /usr/lib/xen/bin/qemu-dm or /usr/lib64/xen/bin/qemu-dm , depending +# on where your qemu-dm sits +#device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm.debug' + #-----------------------------------------------------------------------------# Disk image for diff -r 9efe7eb108e1 tools/ioemu/target-i386-dm/qemu-dm.debug--- a/tools/ioemu/target-i386-dm/qemu-dm.debug Wed Jan 4 17:51:38 2006 +++ b/tools/ioemu/target-i386-dm/qemu-dm.debug Thu Jan 5 18:10:24 2006 @@ -1,5 +1,26 @@ -#!/bin/sh +#!/bin/bash +# Subject to GPL version 2 license. +# +# Chip Blach <chipper@xxxxxxxxxx> +# Andrew D. Ball <aball@xxxxxxxxxx>+ +cd ~root # why does ~ mean '/' instead of '/root' here?-echo $* > /tmp/args -echo $DISPLAY >> /tmp/args -exec /usr/lib/xen/bin/qemu-dm $* +if [[ -z "$IOEMU" ]]+then + # Guess where the device model (qemu-dm) sits, based+ # on architecture + if [[ $(uname -p) == 'x86_64' ]] + then + IOEMU=/usr/lib64/xen/bin/qemu-dm + else + IOEMU=/usr/lib/xen/bin/qemu-dm + fi +fi + +# set up gdb +echo "file $IOEMU" > ioemu_debug +echo "set args $@" >> ioemu_debug +echo "break main" >> ioemu_debug + +nohup ddd --gdb --debugger "gdb -x ioemu_debug" &------------------------------------------------------------------------ _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |