You are here
Examining System Crashes and Hangs
Max Bruning, Joyent
Max Bruning began using and programming Unix-based systems while obtaining a Master's degree at Columbia University in the late 1970's. He has spent many years doing kernel development, as well as teaching Unix courses at various companies. He has done consulting and/or training work for Bell Labs, AT&T, Motorola, Sun Microsystems, HP, Siemens-Nixdorf, and various other companies. In September 2010, he started porting Linux KVM to SmartOS for Joyent. He is currently the Training Director at Joyent.
This 1/2-day tutorial examines debugging tools and techniques. It concentrates on kernel debugging, with emphasis on tools available on SmartOS. Tools for other operating systems (e.g., Linux and *BSD) are also covered. The tutorial starts with a description of the available tools on each of the OSes. It then goes through several example debugging sessions, using the tools and the source code to drill down to find the root cause of the problems. For completeness, some of the discussion and a lab is aimed at user-level problems. To follow along, attendees should have access to at least a machine (can be virtualized) running SmartOS, available here. Access to Linux and FreeBSD systems will be helpful.
Developers, devops, and experienced administrators who have encountered crashes will benefit from this tutorial.
Some knowledge of how to debug kernel crashes and hangs.
- Types of Bugs
- Kernel Panics and Application Crashes
- SmartOS, illumos, and Solaris 10 derivatives
- Intro to mdb(1)
- The 5% You Need to Know
- Intro to DTrace
- kdb, *dbg, crash, etc.
- systemtap and other DTrace equivalents
- kgdb, ddd, ddb, etc.
- All systems
- print statements
- other techniques/strategies