Hacker News new | ask | show | jobs
by Dewie 4110 days ago
> Operating system kernels would be an example of that: The best test for a *nix OS kernel is, if it can run a shell. You need all the essential syscalls to do something sensible and if any of the required parts doesn't work the whole thing fails.

How do you test kernel? Run a virtualised kernel? I think at least DragonflyBSD supports that.

1 comments

Kernel debugging always has been kind of a dark art. What helps greatly is if you can tap into the CPU using some hardware debugging (JTAG or similar).

Today you can also exploit the busmaster DMA capabilities of IEEE1394 to peek into system memory.

However the still most widely used method is pushing debug messaged directly into a UART output register, bypassing any driver infrastructure, and hooking up a serial terminal on the other end.