they're not universal; e.g. try to do Windows driver debugging with Visual Studio. Guess what works? printing to the console.
Also windbg. So much for the IDE.
Acid is about the best idea I've seen.
I'm a bit fond of using /proc for debugging. The fact that all you need to debug the kernel is provide a /proc shim is pretty nifty. Its so obvious -- provide a single uniform interface for doing a task and reuse it where ever needed. Why doesn't everyone do it?
Tim Newsham http://www.lava.net/~newsham/
