MDA gcUnmanagedToManaged
Aggiornamento: novembre 2007
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 richiami piattaforma 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
Concetti
Diagnostica degli errori tramite gli assistenti al debug gestito
Cenni preliminari sul marshalling di interoperabilità