In general, if I have a stack trace, I first try to evaluate if the stack trace makes sense. Sometimes is the symptom of another problem somewhere near the error that is being reported. Then, I try to solve the first problem reported, and then the second, etc.
I think it's different when you have a problem with servers. There're other things involved like network, software versions, etc. From my experience, it's important to not tackle all the problems and possible causes at once. But isolate a problem, see what could be causing it, check documentation. You'll probably start to have some ideas about why the problem is happening. Try these ideas, see if they make sense. If they don't, isolate even more the problem. It's basically divide and conquer. And use logs, logs are you friend.
If you provide more details or examples, I can try to give you more suggestions.