mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 18:21:39 +01:00
If an error occurs, such as wget failing because the site (or proxy) is unavailable, the script will now terminate, rather than trying to soldier on without any real hope of success. mkbuildtree should really get the same treatment, but that can wait for another day. Signed-Off-By: Simon Horman <horms@verge.net.au>
DomU & HVM GDB server for 32-bit (PAE and non-PAE) and x86_64 systems
----------------------------------------------------
Lines marked below with [*] are optional, if you want full
source-level debugging of your kernel image.
To build the GDB server:
0. Build rest of the Xen first from the base directory
1. Run ./gdbbuild from within this directory.
2. Copy ./gdb-6.2.1-linux-i386-xen/gdb/gdbserver/gdbserver-xen
to your test machine.
To build a debuggable guest domU kernel image:
1. cd linux-2.6.xx-xenU
2. make menuconfig
3. From within the configurator, enable the following options:
# Kernel hacking -> Compile the kernel with debug info [*]
-> Compile the kernel with frame pointers
4. (Re)build and (re)install your xenU kernel image.
To debug a running guest:
1. Use 'xm list' to discover its domain id ($domid).
2. Run 'gdbserver-xen 127.0.0.1:9999 --attach $domid'.
3. Run 'gdb /path/to/vmlinux-syms-2.6.xx-xenU'.
4. From within the gdb client session:
# directory /path/to/linux-2.6.xx-xenU [*]
# target remote 127.0.0.1:9999
# bt
# disass
To debug a crashed domU guest:
1. Add '(enable-dump yes)' to /etc/xen/xend-config.sxp before
starting xend.
2. When the domain crashes, a core file is written to
'/var/xen/dump/<domain-name>.<domain-id>.core'.
3. Run 'gdbserver-xen 127.0.0.1:9999 --file <core-file>'.
4. Connect to the server as for a running guest.