Bagikan melalui


MDA invalidGCHandleCookie

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) invalidGCHandleCookie diaktifkan ketika konversi dari cookie IntPtr yang tidak valid ke GCHandle dicoba.

Gejala

Perilaku yang tidak ditentukan seperti pelanggaran akses dan kerusakan memori saat mencoba menggunakan atau mengambil GCHandle dari IntPtr.

Penyebab

Cookie mungkin tidak valid karena awalnya tidak dibuat dari GCHandle, merepresentasikan GCHandle yang telah dibebaskan, merupakan cookie ke GCHandle dalam domain aplikasi yang berbeda, atau disusun ke kode native sebagai GCHandle tetapi diteruskan kembali ke CLR sebagai IntPtr, di mana transmisi dicoba.

Resolusi

Tentukan cookie IntPtr yang valid untuk GCHandle.

Efek pada Runtime

Ketika MDA ini diaktifkan, debugger tidak lagi dapat melacak akar kembali ke objek mereka karena nilai cookie yang diteruskan kembali berbeda dengan cookie yang ditampilkan ketika MDA tersebut tidak diaktifkan.

Output

Nilai cookie IntPtr yang tidak valid dilaporkan.

Konfigurasi

<mdaConfig>
  <assistants>
    <invalidGCHandleCookie />
  </assistants>
</mdaConfig>

Lihat juga