[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] debugging xen ....



After looking around for a howto and asking ppl on IRC, I had to come back
to the forum for this - how to debug xen?

Basically, I would love to be able to step through the code using gdb connected
serially to another machine.

Is there some functionality like that in Xen. I also found some emails 
referencing
a XenDebugger-HowTo, however I couldn't find that file anywhere.

Run the build script in xen-unstable.hg/tools/debugger/gdb.
Install the gdbserver and gdb (I put them in /usr/local/bin
  as gdbserver-xen and xengdb).
Build your kernel with debug.  I use the flags
  "verbose=y domu_debug=y debug=y".  although I dont know if these
  are all required.
Start up your domain (I use vm-tools and do all the steps except
  the vm-pause step).
Run gdbserver.  I run "gdbserver-xen 127.0.0.1:9999 --attach $dom"
Run gdb.  I run "xengdb -x remgdb" where remgdb has the command
  "target remote 127.0.0.1:9999" in it.

Tada, you're in a debugger.

I use the following script to automate this tedious process:

--- deb.sh ---
#!/bin/sh

run()
{
        echo "$*"
        $* || (echo 'failed'; exit 1)
}

# vm-create isnt giving us the right answer...
dom=`vm-create`
echo dom is $dom

run vm-memory -m $dom 64m
run vm-memory -i $dom 64m
run vm-build.linux $dom /root/kernel

echo done $dom
gdbserver-xen 127.0.0.1:9999 --attach $dom &
sleep 1
xengdb -x /root/remgdb

run vm-pause -u $dom
--- end deb.sh ---

Himanshu Raj
PhD Student, GaTech (www.cc.gatech.edu/~rhim)

Hope this helps,
Tim Newsham
http://www.lava.net/~newsham/

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.