This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


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

I've been trying this approach, trying xend tools and vm-tools.
I actually make the most progress using xend tools.

I'm able to create a domain (paused), set up the gdbserver, connect gdb
and set a breakpoint.   I can then unpause the domain and it runs until
it hits the breakpoint I set (which is in netfront.c).

However, when that breakpoint is hit, the domU kernel oopses, rather
than re-directing the exception to the gdbserver.

Did I miss something?

(And with vm-tools  when I unpause the domain I get one line of console
output and that's all.)

Michal Ostrowski

On Tue, 23 Aug 2005 21:30:54 -1000 (HST) Tim
Newsham <newsham@xxxxxxxx> wrote:

> > 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 --attach $dom"
> Run gdb.  I run "xengdb -x remgdb" where remgdb has the command
>    "target remote" 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 --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

Attachment: pgpFZykNm6wkZ.pgp
Description: PGP signature

Xen-devel mailing list
<Prev in Thread] Current Thread [Next in Thread>