MDA de gcUnmanagedToManaged
Actualización: noviembre 2007
El Ayudante para la depuración administrada (MDA) de gcUnmanagedToManaged hace que se produzca una recolección de elementos no utilizados cada vez que un subproceso cambia de código no administrado a código administrado.
Síntomas
Una aplicación que ejecuta componentes de usuario no administrados mediante COM y la invocación de una plataforma produce una infracción de acceso no determinista en CLR.
Motivo
Si una aplicación está ejecutando componentes de usuario no administrados, esos componentes podrían haber dañado la pila de recolección de elementos no utilizados. Esto produce una infracción de acceso en el CLR cuando el recolector de elementos no utilizados intenta desplazarse por el gráfico de objetos.
Resolución
La habilitación de este asistente reduce el tiempo entre cuando el componente no administrado daña la pila de recolección de elementos no utilizados y cuando tiene lugar la infracción de acceso forzando a que la recolección de elementos no utilizados tenga lugar antes de cada transición administrada.
Efecto en tiempo de ejecución
Produce una recolección de elementos no utilizados cada vez que un subproceso cambia de código no administrado a código administrado.
Resultados
Este MDA no genera ningún resultado.
Configuración
<mdaConfig>
<assistants>
<gcUnmanagedToManaged/>
</assistants>
</mdaConfig>
Vea también
Conceptos
Diagnóstico de errores con ayudantes de depuraciones administradas
Información general acerca del cálculo de referencia de interoperabilidad