Assistant Débogage managé gcUnmanagedToManaged
L'Assistant Débogage managé (MDA, Managed Debugging Assistant) gcUnmanagedToManaged déclenche une opération garbage collection chaque fois qu'un thread effectue la transition du code non managé au code managé.
Symptômes
Une application exécutant des composants utilisateur non managés à l'aide de COM et des appels de code non managé provoque une violation d'accès non déterministe dans le CLR.
Cause
Si une application exécute des composants utilisateur non managés, il se peut que ces composants aient endommagé le tas obtenu à l'issue d'une opération garbage collection. Cela provoque une violation d'accès dans le CLR lorsque le garbage collector tente de parcourir le graphique d'objets.
Solution
L'activation de cet assistant réduit la durée entre le moment où le composant non managé endommage le tas obtenu à l'issue d'une opération garbage collection et le moment de la violation d'accès en obligeant l'exécution une opération garbage collection avant toute transition managée.
Effet sur le runtime
Provoque une opération garbage collection chaque fois qu'un thread effectue la transition du code non managé au code managé.
Sortie
Ce MDA ne produit aucune sortie.
Configuration
<mdaConfig>
<assistants>
<gcUnmanagedToManaged/>
</assistants>
</mdaConfig>
Voir aussi
Référence
Assistant Débogage managé gcManagedToUnmanaged
Concepts
Diagnostic d'erreurs avec les Assistants de débogage managés