The complexity of a complete Linux stack has grown to considerabledimensions. Finding and fixing bugs is a most complicated undertaking,especially for system engineers whose focus is not solely on advancingthe Linux kernel. We discuss modern techniques for kernel/systemdebugging and analysis, with a special emphasis on using the benefitsof virtualisation. We introduce all components of a kernel hacker'stoolbox of interest to a wide range of engineers, including effectiveuse of tracing/profiling and revision control. Nifty, but oftenlittle-known system level tools for tracking down issues will behighlighted. Practical real-world examples show patterns for solvingcommonly appearing problems.
Besides system engineers, the tutorial will also be beneficial forprogrammers interacting with the lower Linux layers, and enthusiastsdesiring to understand their systems better.