gcUnmanagedToManaged MDA

Note

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

Asisten gcUnmanagedToManaged penelusuran kesalahan terkelola (MDA) menyebabkan pengumpulan sampah setiap kali utas beralih dari kode yang tidak dikelola ke terkelola.

Gejala

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

Penyebab

Jika aplikasi menjalankan komponen pengguna yang tidak dikelola, komponen tersebut mungkin telah merusak tumpukan yang dikumpulkan sampah. Ini menyebabkan pelanggaran akses di CLR ketika pengumpul sampah mencoba berjalan di grafik objek.

Resolution

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

Efek pada Runtime

Menyebabkan pengumpulan sampah setiap kali utas beralih dari kode yang tidak dikelola ke kode terkelola.

Hasil

MDA ini tidak menghasilkan output.

Konfigurasi

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

Baca juga