marshalCleanupError MDA

Note

Cet article est spécifique à .NET Framework. Ceci ne s’applique pas aux implémentations plus récentes de .NET, y compris .NET 6 et versions ultérieures.

L’Assistant marshalCleanupError débogage managé (MDA) est activé lorsque le Common Language Runtime (CLR) rencontre une erreur lors de la tentative de nettoyage des structures temporaires et de la mémoire utilisée pour le marshaling des types de données entre les limites de code natif et managé.

Symptoms

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

Cause

Une erreur inattendue s’est produite lors du nettoyage des structures temporaires.

Résolution

Passez en revue toutes les SafeHandle implémentations de destructeur, finaliseur et marshaller personnalisées pour 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 />
  </assistants>
</mdaConfig>

Voir aussi