> <i>Surely runtime NULL dereferences could be traced by a good compiler in some debug mode? Are obscure segfaults the only way?</i><p>To the experienced C programmer, segfaults implying runtime NULL dereferences are bread-n-butter, not at all obscure, eh?<p>(compare: <i>"Ken Thompson has an automobile which he helped design. Unlike most automobiles, it has neither speedometer, nor gas gauge, nor any of the numerous idiot lights which plague the modern driver. Rather, if the driver makes any mistake, a giant "?" lights up in the center of the dashboard. "The experienced driver," he says, "will usually know what's wrong."</i>)