Bagikan melalui


MDA gcUnmanagedToManaged

Catatan

Artikel ini khusus untuk .NET Framework. Ini tidak berlaku untuk implementasi .NET yang lebih baru, termasuk .NET 6 dan versi yang lebih baru.

Asisten penelusuran kesalahan terkelola (MDA) gcUnmanagedToManaged menyebabkan kumpulan sampah setiap kali thread beralih dari terkelola ke kode yang tidak terkelola.

Gejala

Aplikasi yang menjalankan komponen pengguna yang tidak terkelola menggunakan COM dan platform pemanggilan menyebabkan pelanggaran akses nondeterministik dalam CLR.

Penyebab

Jika aplikasi menjalankan komponen pengguna yang tidak terkelola, komponen tersebut mungkin telah merusak tumpukan sampah yang dikumpulkan. Hal ini menyebabkan pelanggaran akses dalam CLR ketika pengumpul sampah mencoba memproses grafik objek.

Resolusi

Mengaktifkan asisten ini mengurangi waktu antara ketika komponen yang tidak terkelola merusak tumpukan sampah yang dikumpulkan dan ketika pelanggaran akses terjadi dengan memaksa pengumpulan sampah terjadi sebelum setiap transisi yang terkelola.

Efek pada Runtime

Menyebabkan pengumpulan sampah setiap kali thread bertransisi dari kode terkelola ke yang tidak terkelola.

Output

MDA ini tidak menghasilkan output.

Konfigurasi

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

Lihat juga