MDA gcUnmanagedToManaged
L'assistente al debug gestito gcUnmanagedToManaged determina un'operazione di Garbage Collection ogni volta che un thread passa dal codice non gestito al codice gestito.
Sintomi
Un'applicazione in cui vengono eseguiti componenti utente non gestiti mediante platform invoke e COM sta causando una violazione di accesso non deterministico in CLR.
Causa
Se in un'applicazione sono in esecuzione componenti utente non gestiti, è possibile che questi ultimi abbiano danneggiato l'heap sottoposto a Garbage Collection provocando una violazione di accesso in CLR al tentativo del Garabage Collector di scorrere l'oggetto grafico.
Risoluzione
L'attivazione di questo assistente riduce il periodo compreso tra il danneggiamento dell'heap sottoposto a Garbage Collection da parte del componente non gestito e la generazione della violazione di accesso mediante l'imposizione di una operazione di Garbage Collection prima di ogni transizione gestita.
Effetto sul runtime
Viene causata una Garbage Collection ogni volta che un thread passa dal codice non gestito al codice gestito.
Output
Questo assistente al debug gestito non produce output.
Configurazione
<mdaConfig>
<assistants>
<gcUnmanagedToManaged/>
</assistants>
</mdaConfig>
Vedere anche
Riferimenti
Concetti
Diagnostica degli errori tramite gli assistenti al debug gestito
Marshalling di interoperabilità