Condividi tramite


MDA marshalCleanupError

Nota

Questo articolo è specifico per .NET Framework. Non si applica alle implementazioni più recenti di .NET, incluse .NET 6 e versioni successive.

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

Sintomi

Si verifica una perdita di memoria durante transizioni di codice gestito e nativo, lo stato di esecuzione, ad esempio le impostazioni cultura del thread, non viene ripristinato o si verificano errori durante la pulizia di SafeHandle.

Causa

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

Risoluzione

Esaminare tutte le SafeHandle implementazioni del distruttore, del finalizzatore e del marshaller personalizzato per individuare gli errori.

Effetto sull'ambiente di esecuzione

L'assistente al debug gestito non ha alcun effetto su CLR.

Output

Un messaggio che indica l'operazione non riuscita durante la pulizia.

Impostazione

<mdaConfig>
  <assistants>
    <marshalCleanupError />
  </assistants>
</mdaConfig>

Vedi anche