gcUnmanagedToManaged MDA

Note

Эта статья относится к .NET Framework. Он не применяется к более новым реализациям .NET, включая .NET 6 и более поздние версии.

Помощник gcUnmanagedToManaged по управляемой отладке (MDA) вызывает сборку мусора всякий раз, когда поток переходит от неуправляемого к управляемому коду.

Симптомы

Приложение, выполняющее неуправляемые компоненты пользователя с помощью вызова COM и платформы, вызывает недетерминированное нарушение доступа в среде CLR.

Причина

Если приложение выполняет неуправляемые пользовательские компоненты, эти компоненты, возможно, повреждали сборку мусора. Это приводит к нарушению доступа в среде CLR, когда сборщик мусора пытается пройти граф объектов.

Разрешение

Включение этого помощника сокращает время между тем, когда неуправляемый компонент повреждает сборку мусора, собранную мусором, и когда нарушение доступа происходит путем принудительного выполнения сборки мусора перед каждым управляемым переходом.

Влияние на среду выполнения

Вызывает сборку мусора всякий раз, когда поток переходит от неуправляемого к управляемому коду.

Выходные данные

Этот MDA не выдает выходных данных.

Конфигурация

<mdaConfig>
  <assistants>
    <gcUnmanagedToManaged/>
  </assistants>
</mdaConfig>

См. также