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

Kip Macy
Mon, 29 Aug 2005 17:29:06 -0000

You need to have domu_debug enabled in Rules.mk

      -Kip


On 8/29/05, Michal Ostrowski <mostrows@watson.ibm.com>
wrote:
> 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@lava.net> 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 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@lists.xensource.com
> > http://lists.xensource.com/xen-devel
>
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel