marshalCleanupError 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 marshalCleanupError penelusuran kesalahan terkelola (MDA) diaktifkan ketika runtime bahasa umum (CLR) mengalami kesalahan saat mencoba membersihkan struktur sementara dan memori yang digunakan untuk marshalling jenis data antara batas kode asli dan terkelola.

Gejala

Kebocoran memori terjadi saat melakukan transisi kode asli dan terkelola, status runtime seperti budaya utas tidak dipulihkan, atau kesalahan terjadi dalam SafeHandle pembersihan.

Penyebab

Terjadi kesalahan tak terduga saat membersihkan struktur sementara.

Resolution

Tinjau semua SafeHandle destruktor, finalizer, dan implementasi marshaller kustom untuk kesalahan.

Efek pada Runtime

MDA ini tidak berpengaruh pada CLR.

Hasil

Pesan yang melaporkan operasi yang gagal selama pembersihan.

Konfigurasi

<mdaConfig>
  <assistants>
    <marshalCleanupError />
  </assistants>
</mdaConfig>

Baca juga