We have a large ASP.NET application that occasionally crashes due to StackOverflowException
s. Because these aren't handled very elegantly by .NET, we are reduced to post-mortem debugging without any of our normal exception logs and stack traces. Once we find where the issue is occurring it is generally quite easy to fix; the hard part is pin-pointing where in the codebase the error happens.
The process dump file that we get after the crash seems like it would help greatly in this effort, but thus far, we've been unable to figure out how to best use it. You can (very, very, slowly) "debug" the process using visual studio, but this basically takes forever loading up MSFT symbols and then won't load the symbols for our application DLLs (so you can't see the interesting parts of the call stack).
It seems like there must be a straightforward way to go from:
- The crash dump file
- The set managed application DLLs/PDBs
to the full managed call stack; can anyone can describe (or point to a tutorial) for doing this (using VS, WinDbg, or any other tool)?