There was one request to explain memory dump which is printed in unexpected ISR. There's published application note from KEIL about how to "decode" memory dump and find out which was last active function and more..
Using cortex m3 and m4 fault exceptions [www.keil.com]
Anyway, great resource to this particular situation is Definite Guide book for Cortex M0 or M3. THat one explained it well.