Re: VMWare Workstation 6 for debugging Linux Kernel (!)

From: Nigel Cunningham
Date: Fri Apr 20 2007 - 07:44:38 EST


Hi.

On Fri, 2007-04-20 at 04:21 -0700, Petr Vandrovec wrote:
> Andi Kleen wrote:
> > Xavier Bestel <xavier.bestel@xxxxxxx> writes:
> >
> >> On Fri, 2007-04-20 at 00:46 +0200, roland wrote:
> >>
> >>> We just quietly added an exciting feature to Workstation 6.0. I believe it
> >>> will make WS6 a great tool for Linux kernel development. You can now debug
> >>> kernel of Linux VM with gdb running on the Host without changing anything in
> >>> the Guest VM. No kdb, no recompiling and no need for second machine. All you
> >>> need is a single line in VM's configuration file.
> >> I think qemu has the exact same feature.
> >
> > It doesn't seem to work for x86-64 there though.
>
> Hello,
>
> Do you mean with qemu or with VMware? Yes, we do not support replay
> with 64bit guests, but debug interface should just work. Only gotcha is
> that for 64bit guest you need another option:
>
> debugStub.listen.guest64 = "TRUE"

Ah. That might help :)

> and then you need to attach gdb to port 8864 (*). Unfortunately it does
> not seem possible to build gdb which would support 16bit/32bit code
> while using 64bit gdb on-wire format, so there are two interfaces. And
> if you single-step switch from 64bit mode to 32bit mode or back, you
> also have to switch gdbs. Yes, it is a bit unintuitive, and
> additionally one gdb silently ignores breakpoints set up by other gdb,
> so you need to keep breakpoints in sync between two gdbs yourself :-(
>
> (*) If you are using gdb which has both 32bit and 64bit support, be sure
> to issue appropriate 'set architecture xxx' before 'target remote
> localhost:88xx' (i386:x86-64 for port 8864, i386 or i8086 for port
> 8832). Otherwise gdb is going to die complaining it could not parse
> remote reply.

That too.

Thanks!

Nigel

Attachment: signature.asc
Description: This is a digitally signed message part