views:

379

answers:

3

Using ADPlus (in crash dump mode) to generate .dmp files. The final sequence of unhandled exceptions (that produce full memory dump files) is...

1st chance DLL unload: contains thread id's but doesn't contain the StackOverflowException (I wouldn't expect it to since at this point the exception hasn't been thrown yet).

1st chance Stackoverflow: contains thread id's but doesn't contain the StackOverflowException.

1st chance Process Shut Down (shutdown): contains the StackOverflowException but doesn't contain the thread id's.

???

Is there some way, either by configuring ADPlus or by running commands in Windbg, to capture the exception and have access to the thread id's?

In response to Magnus, is there some useful information if the thread id isn't available? Running !threads returns some info, but without both the thread id and the exception, there doesn't seem to be anywhere else to go from there. Running !clrstack seems more useful than running !threads, in this case.

A: 

The following post has a little more information on capturing a StackOverflowException, however it was never fully resolved

http://stackoverflow.com/questions/831499/help-catching-stackoverflowexception-with-windbg-and-adplus

Justin
A: 

Have you tried the !thread command in WinDbg during post mortem debugging of your dump file?

Magnus Skog
A: 

Open the second dump and enter the command .ecxr[enter]
Now dds esp[enter]
To continue viewing the callstack just write dds[enter]
[enter]....[enter]....

You will probaby find this thread was in the middle of calling the unloaded DLL.

Tal