Condividi tramite


MDA marshalCleanupError

L'assistente al debug gestito marshalCleanupError viene attivato quando Common Language Runtime (CLR) rileva un errore durante il tentativo di pulire la memoria e le strutture temporanee utilizzate per il marshalling dei tipi di dati tra i limiti di codice nativo e gestito.

Sintomi

Si verifica una perdita di memoria quando si effettuano transizioni di codice nativo e gestito e quando non è possibile ripristinare lo stato di runtime, ad esempio le impostazioni cultura del thread, oppure si verificano errori nella pulitura di SafeHandle.

Causa

Si è verificato un errore imprevisto durante la pulitura delle strutture temporanee.

Risoluzione

Verificare la presenza di errori in tutte le implementazioni del distruttore SafeHandle, del finalizzatore e del gestore di marshalling personalizzato.

Effetto sul runtime

Questo assistente al debug gestito non produce effetti su CLR.

Output

Un messaggio in cui viene segnalata l'operazione non riuscita durante la pulitura.

Configurazione

<mdaConfig>
  <assistants>
    <marshalCleanupError enable="false" />
  </assistants>
</mdaConfig>

Vedere anche

Riferimenti

MarshalAsAttribute

Concetti

Diagnostica degli errori tramite gli assistenti al debug gestito

Marshalling di interoperabilità

Altre risorse

Interoperabilità