Fan,
For hanging situations, I find STATSPACK to work pretty well. When notified, just execute a snapshot, then execute another one maybe 5 minutes later. This leaves you free to deal with panicked users and managers. STATSPACK collects a lot of information, so usually what you need to diagnose the problem is available for later perusal.