Systemic Software Debugging is a light-hearted introduction to the wonderful world of, well, systemic debugging, i.e. chasing down those pesky problems that you won’t find by single- stepping through ten lines of code or taking a peak at the back-trace of a core dump. The kinds of issues that seem to magically appear after software gets even a flicker of a chance to grow out of proportion, when the build system takes a life of its own or when you have to keep a ten year old release of a compiler around just because that was the one version that managed to produce a binary that almost lived up to expectations.
This work was initially written in 2009-2010 for the use as supplementary reading material part of a seminar- oriented course in systemic debugging with a target audience of engineers and senior engineers at Sony Mobile Communications (formerly Sony Ericsson), constrained to about 150 pages with the goal of introducing as much of the notion of the systemic side of debugging as possible. It is published here in a free and open form (CC-BY-3.0) in the hopes that it might be useful to other curious souls out there.