MDA de marshalCleanupError

Actualización: noviembre 2007

El Ayudante para la depuración administrada (MDA) de marshalCleanupError se activa cuando Common Language Runtime (CLR) encuentra un error al intentar limpiar la memoria y estructuras temporales utilizadas para calcular la referencia de tipos de datos entre los límites de código nativo y administrado.

Síntomas

Se produce una pérdida de memoria cuando se realizan transiciones de código nativo y administrado, cuando no se restaura el estado en tiempo de ejecución como referencia cultural del subproceso o cuando se produce un error en la limpieza de SafeHandle.

Motivo

Se ha producido un error imprevisto al limpiar estructuras temporales.

Resolución

Revise todas las implementaciones del contador de referencias personalizado, el finalizador y el destructor de SafeHandle para detectar posibles errores.

Efecto en tiempo de ejecución

Este MDA no tiene ningún efecto en el CLR.

Resultados

Mensaje que informa acerca de la operación en la que se produjo un error durante la limpieza.

Configuración

<mdaConfig>
  <assistants>
    <marshalCleanupError enable="false" />
  </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

Referencia

MarshalAsAttribute

Otros recursos

Interoperabilidad