Assistant Débogage managé marshalCleanupError
Remarque
Cet article est spécifique au .NET Framework. Elle ne s’applique pas aux implémentations plus récentes de .NET, notamment .NET 6 et versions ultérieures.
L’Assistant Débogage managé marshalCleanupError
est activé quand le Common Language Runtime (CLR) rencontre une erreur pendant une tentative de nettoyage de la mémoire et des structures temporaires utilisées pour le marshaling de types de données entre des limites de code native et managé.
Symptômes
Une fuite de mémoire se produit en cas de transitions de code natif et managé, de non-restauration d'état d'exécution tel que la culture de thread ou d'erreurs de nettoyage SafeHandle.
Cause
Une erreur inattendue s'est produite pendant le nettoyage des structures temporaires.
Résolution
Examinez toutes les implémentations de marshaler personnalisé, de finaliseur et de destructeur SafeHandle pour déterminer si elles contiennent des erreurs.
Effet sur le runtime
Cet Assistant Débogage managé n'a aucun effet sur le CLR.
Sortie
Message indiquant l'opération ayant échoué pendant le nettoyage.
Configuration
<mdaConfig>
<assistants>
<marshalCleanupError />
</assistants>
</mdaConfig>