Condividi tramite


MDA marshalCleanupError

Aggiornamento: novembre 2007

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

Concetti

Diagnostica degli errori tramite gli assistenti al debug gestito

Cenni preliminari sul marshalling di interoperabilità

Riferimenti

MarshalAsAttribute

Altre risorse

Interoperabilità