gcUnmanagedToManaged MDA
Notitie
Dit artikel is specifiek voor .NET Framework. Dit geldt niet voor nieuwere implementaties van .NET, waaronder .NET 6 en nieuwere versies.
De gcUnmanagedToManaged
beheerde foutopsporingsassistent (MDA) zorgt voor een garbagecollection wanneer een thread overgaat van onbeheerde naar beheerde code.
Symptomen
Een toepassing waarop niet-beheerde gebruikersonderdelen worden uitgevoerd met COM en platformaanroepen, veroorzaakt een niet-deterministische toegangsschending in de CLR.
Oorzaak
Als een toepassing niet-beheerde gebruikersonderdelen uitvoert, hebben deze onderdelen mogelijk de verzamelde heap beschadigd. Dit veroorzaakt een toegangsschending in de CLR wanneer de garbagecollector probeert de objectgrafiek te doorlopen.
Oplossing
Het inschakelen van deze assistent vermindert de tijd tussen wanneer het onbeheerde onderdeel de door garbagecollection verzamelde heap beschadigd en wanneer de toegangsschending plaatsvindt door af te dwingen dat er een garbagecollection plaatsvindt vóór elke beheerde overgang.
Effect op de runtime
Veroorzaakt een garbagecollection wanneer een thread overgaat van onbeheerde naar beheerde code.
Uitvoer
Deze MDA produceert geen uitvoer.
Configuratie
<mdaConfig>
<assistants>
<gcUnmanagedToManaged/>
</assistants>
</mdaConfig>