Subject: kernel debug with gdb and vmware problem
To: NetBSD-current <current-users@NetBSD.org>
From: thilo <jeremias@optushome.com.au>
List: current-users
Date: 03/20/2006 00:39:35
Hi group

I try to gdb:
netbsd-server -> windows-vmware -> netbsd debug target

I verified tip <->tip  works fine!

I compiled the kernel w/o ddb support, and boot with -d

gdb connects fine and I can see all registers and memory.
I can debug till a certain point.
If I set a break i.e. in ugenpoll  or after configure has been called,
the target writes its gdb connect message (if the bp is being hit), but 
the server never sees any complete
packages (It might see the signal message, because gdb starts to say 
"ignoring packet error"))
( I tried serial and named pipes as the output device in vmware - same 
result )
 From my understanding if I use the vmware named pipes as the serial 
port, any setup the kernel
could possibly do to the ser-port would be ignored. So I don't think the 
ser-hardware is the problem.

BUT
 when I enable DDB & GDB, I can break at all places -- but aparently the 
breakpoints
will always connect to ddb first, and then kgdb works and connects fine.

Any hint how to debug further?
Is this a problem in vmware?
Has anyone seen that before?
I know that on the ARM port the ddb only comes up once and not after 
every break point. Is there
a way to use a different break instruction in i386 too? or can I disable 
ddb at run time?

cheers thilo