Bagikan melalui


reportAvOnComRelease MDA

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) reportAvOnComRelease diaktifkan ketika pengecualian ditampilkan karena kesalahan penghitungan referensi pengguna saat melakukan interop COM dan menggunakan metode Release atau ReleaseComObject yang dikombinasikan dengan panggilan COM mentah.

Gejala

Pelanggaran akses dan kerusakan memori.

Penyebab

Terkadang, pengecualian ditampilkan karena kesalahan penghitungan referensi pengguna saat melakukan interop COM dan menggunakan metode Release atau ReleaseComObject yang dikombinasikan dengan panggilan COM mentah. Biasanya, pengecualian ini dibuang karena jika tidak melakukannya akan menyebabkan pelanggaran akses di runtime bahasa umum, yaitu dapat menurunkannya. Ketika asisten ini diaktifkan, pengecualian tersebut dapat dideteksi dan dilaporkan alih-alih hanya dibuang.

Resolusi

Periksa kode penghitungan referensi Anda dan cari kesalahan serta periksa klien native objek Anda untuk menemukan kesalahan penghitungan referensi.

Efek pada Runtime

Tersedia dua mode. Jika atribut allowAv adalah true, asisten mencegah runtime bahasa umum membuang pelanggaran akses. Jika allowAv adalah false, yang merupakan default, runtime bahasa umum membuang pelanggaran akses, tetapi pesan peringatan dilaporkan kepada pengguna untuk menunjukkan bahwa pengecualian ditampilkan dan dibuang.

Output

Jika memungkinkan, output akan berisi vtable asli milik penunjuk antarmuka COM. Jika tidak, akan ditampilkan pesan informasi.

Konfigurasi

<mdaConfig>
  <assistants>
    <reportAvOnComRelease />
  </assistants>
</mdaConfig>

Lihat juga