Partager via


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>

Voir aussi