I wrote a tool that lets you run gdb on the same system as the kernel you're debugging. It supports viewing and modifying kernel data structures, viewing stack traces for processes in the kernel, interpreting trap reports, and calling kernel functions. It isn't as flexible as a remote debugger; in particular, there are no breakpoints. But I've still found it to be very useful, and if you don't have a spare system to use for remote debugging, it is the next best thing.
You can find the "kdebug" package at <ftp://hyper.stanford.edu/pub/pcmcia/extras/kdebug-1.6.tar.gz>.