After fielding yet another question about the debugger I''ve accepted that a minimal readme is in order. -Kip # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2005/05/18 11:05:39-07:00 kmacy@octopus.eng.netapp.com # add readme for domu_debug # Signed-off-by: Kip Macy <kmacy@fsmware.com> # # BitKeeper/etc/logging_ok # 2005/05/18 11:05:39-07:00 kmacy@octopus.eng.netapp.com +1 -0 # Logging to logging@openlogging.org accepted # # docs/misc/domu_debug.txt # 2005/05/18 11:05:30-07:00 kmacy@octopus.eng.netapp.com +40 -0 # # docs/misc/domu_debug.txt # 2005/05/18 11:05:30-07:00 kmacy@octopus.eng.netapp.com +0 -0 # BitKeeper file /t/raid-u37/users/XEN/latest/xeno-unstable.bk/docs/misc/domu_debug.txt # diff -Nru a/docs/misc/domu_debug.txt b/docs/misc/domu_debug.txt --- /dev/null Wed Dec 31 16:00:00 196900 +++ b/docs/misc/domu_debug.txt 2005-05-17 11:11:14 -07:00 @@ -0,0 +1,40 @@ +For the moment xen must be re-built with domu_debug enabled in Rules.mk. The +user-level stub gdbserver-xen is created by running gdbbuild in tools/gdb. The +gdbbuild script currently assumes that bitkeeper installed. + + +In domain 0, run as root +> gdbserver-xen <name/ip-address>:<port> --attach <domid> +my current dev box is curly and the new domain id is 1, so: +> sudo gdbserver-xen curly:2345 --attach 1 + +this will pause the domain until the gdb client tells it to continue. + +Either in domain 0 or on a separate machine run (unmodified) gdb: +> gdb <symbol-file> +so when debugging FreeBSD it is, +> gdb kernel.debug +GNU gdb 6.2 +Copyright 2004 Free Software Foundation, Inc. +GDB is free software, covered by the GNU General Public License, and you are +welcome to change it and/or distribute copies of it under certain conditions. +Type "show copying" to see the conditions. +There is absolutely no warranty for GDB. Type "show warranty" for details. +This GDB was configured as "i386-unknown-freebsd5.2.1"... +(gdb) target remote curly:2345 +... +This will show you the line of code where it stopped. +GDB will expect the path to the source to be the same as when you +built the kernel, let me know if that isn''t the case. +''b <line>'' will set a breakpoint at line in the current file +''b <file>:<line>'' will set a breakpoint in the specified file at the +specified line +''c'' will continue +''c n'' will continue through the next n breakpoints +''s'' will single step +''i r'' will dump the registers +''set $eax=5'' will set eax to 5 +''p variable'' will print the value of variable if it is in scope +''i line *addr'' will tell you what line of source code addr corresponds to +''x/i addr'' will decode the instruction at addr +''x/10i addr'' will decode 10 instructions starting at addr \ No newline at end of file _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel