Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Note
Questo articolo è specifico per .NET Framework. Non si applica alle implementazioni più recenti di .NET, tra cui .NET 6 e versioni successive.
L'assistente gcUnmanagedToManaged al debug gestito causa un'operazione di Garbage Collection ogni volta che un thread passa da codice non gestito a codice gestito.
Symptoms
Un'applicazione che esegue componenti utente non gestiti tramite COM e platform invoke causa una violazione di accesso non deterministica in CLR.
Cause
Se un'applicazione esegue componenti utente non gestiti, questi componenti potrebbero aver danneggiato l'heap di Garbage Collection. In questo modo si verifica una violazione di accesso in CLR quando il Garbage Collector tenta di esaminare l'oggetto grafico.
Risoluzione
L'abilitazione di questo assistente riduce il tempo tra il momento in cui il componente non gestito danneggia l'heap di Garbage Collection e quando si verifica la violazione di accesso forzando un'operazione di Garbage Collection prima di ogni transizione gestita.
Effetto sul runtime
Determina un'operazione di Garbage Collection ogni volta che un thread passa da codice non gestito a codice gestito.
Risultato
Questo assistente al debug gestito non produce alcun output.
Configuration
<mdaConfig>
<assistants>
<gcUnmanagedToManaged/>
</assistants>
</mdaConfig>