"When an invalid program finally crashes (or enters an infinite loop, or goes to sleep forever), what you're left with is basically the binary snapshot of its state (a common name for it is a "core dump"). You have to make sense of it in order to find the bug."
If you write an invalid program... Then you are doing it completely wrong! (http://lemonodor.com/archives/2007/10/youre_doing_it_wrong.h...)
There are two types of peope: those who belive what they read and those who want to try out their own and then read and after that whine or ... :)