Bagikan melalui


MDA marshalCleanupError

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

Gejala

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

Penyebab

Terjadi kesalahan tak terduga saat membersihkan struktur sementara.

Resolusi

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

Efek pada Runtime

MDA ini tidak berpengaruh pada runtime bahasa umum.

Output

Pesan yang melaporkan operasi yang gagal selama pembersihan.

Konfigurasi

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

Lihat juga