gcUnmanagedToManaged MDA

The gcUnmanagedToManaged managed debugging assistant (MDA) causes a garbage collection whenever a thread transitions from unmanaged to managed code.

An application running unmanaged user components using COM and platform invoke is causing a nondeterministic access violation in the CLR.

If an application is running unmanaged user components, then those components might have corrupted the garbage-collected heap. This causes an access violation in the CLR when the garbage collector tries to walk the object graph.

Enabling this assistant reduces the time between when the unmanaged component corrupts the garbage-collected heap and when the access violation happens by forcing a garbage collection to occur before every managed transition.

Causes a garbage collection whenever a thread transitions from unmanaged to managed code.

This MDA produces no output.

<mdaConfig>
  <assistants>
    <gcUnmanagedToManaged/>
  </assistants>
</mdaConfig>
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft