I was recently asked ... Every time you run !dumpallexceptions ( !dae ) you will find that there is always a System.OutOfMemory exception object that will be listed

Number of exceptions of this type:        1
Exception MethodTable: 0482151c
Exception object: 182d005c
Exception type: System.OutOfMemoryException
Message: <none>
InnerException: <none>
StackTrace (generated):
StackTraceString: <none>
HResult: 8007000e
The current thread is unmanaged

An OutOfMemory is a critical situation from which the process many not be able to recover. It could very well be that .NET may not be able to create an exception object at that point. So the .Net framework creates an OutOfMemory exception object in the start and stores it for latter use.

That is the reason why !dae will always return a System.OutOfMemory object; it just scans the heap for all exception objects and lists it.

Bookmark and Share