Assistant Débogage managé reportAvOnComRelease
L'Assistant Débogage managé (MDA, Managed Debugging Assistant) reportAvOnComRelease est activé lorsque des exceptions sont levées en raison d'erreurs de décompte de références de l'utilisateur pendant l'exécution de COM Interop et l'utilisation de la méthode Release ou ReleaseComObject associée à des appels COM bruts.
Symptômes
Violations d'accès et altération de la mémoire.
Cause
Parfois, une exception est levée en raison d'erreurs de décompte de références de l'utilisateur lors de l'exécution de COM Interop et de l'utilisation de la méthode Release ou ReleaseComObject associée à des appels COM bruts. Normalement, cette exception est ignorée car, dans le cas contraire, elle entraînerait une violation d'accès dans le CLR, ce qui provoquerait son interruption. Lorsque cet assistant est activé, ces exceptions peuvent être détectées et signalées plutôt que simplement ignorées.
Solution
Recherchez les erreurs dans votre code de décompte de références et les erreurs de décompte de références dans les clients natifs de votre objet.
Effet sur le runtime
Deux modes sont disponibles. Si l'attribut allowAv a la valeur true, l'assistant empêche le runtime d'ignorer la violation d'accès. Si allowAv a la valeur false (valeur par défaut), le runtime ignore la violation d'accès, mais un message d'avertissement est envoyé à l'utilisateur pour lui signaler qu'une exception a été levée et ignorée.
Sortie
Le cas échéant, la sortie contient le vtable d'origine du pointeur d'interface COM. Sinon, un message d'information s'affiche.
Configuration
<mdaConfig>
<assistants>
<reportAvOnComRelease allowAv="false"/>
</assistants>
</mdaConfig>
Voir aussi
Référence
Concepts
Diagnostic d'erreurs avec les Assistants de débogage managés