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>