I've compiled a kernel with kgdb support and I'm trying to debug it. I have two machines running, a debug machine (running the kgdb kernel) and the machine I'm using to debug it. They are connected via two serial cables. I can operate the debug machine's serial console through ttyS0 (on both machines) and I can connect to kgdb with gdb over ttyS1 (on both machines).
This works fine up until a point: I boot the debug machine; it waits for gdb to connect; gdb connects; I can set breakpoints or whatever using gdb; I tell gdb to continue; and the kernel continues to boot.
The problem is when I next hit a breakpoint gdb doesn't seem to realize that a breakpoint has been hit. The kernel stops when it's meant to, but gdb doesn't do anything. It just sits there as if nothing has happened.
Does anyone know what might cause this?