How do you approach troubleshooting a crashing system or application? What debugging tools and techniques do you use?

Situational