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>