Partager via


Assistant Débogage managé marshalCleanupError

Mise à jour : novembre 2007

L'Assistant Débogage managé (MDA, Managed Debugging Assistant) marshalCleanupError est activé lorsque le Common Language Runtime (CLR) rencontre une erreur au cours d'une tentative de nettoyage des structures et des mémoires temporaires utilisées pour marshaler des types de données entre les limites de code natif et managé.

Symptômes

Une fuite de mémoire se produit pendant des transitions de code natif et managé, lorsque l'état du runtime tel que la culture d'un thread n'est pas restauré ou lorsque des erreurs se produisent dans le nettoyage SafeHandle.

Cause

Une erreur inattendue est survenue lors du nettoyage de structures temporaires.

Résolution

Passez en revue toutes les implémentations du destructeur SafeHandle, du finaliseur et du marshaleur personnalisé pour trouver les erreurs.

Effet sur le runtime

Ce MDA n'a aucun effet sur le CLR.

Sortie

Message signalant l'opération qui a échoué pendant le nettoyage.

Configuration

<mdaConfig>
  <assistants>
    <marshalCleanupError enable="false" />
  </assistants>
</mdaConfig>

Voir aussi

Concepts

Diagnostic d'erreurs avec les Assistants de débogage managés

Vue d'ensemble du marshaling d'interopérabilité

Référence

MarshalAsAttribute

Autres ressources

Interopérabilité