Episode

C0000005 Pelanggaran Akses

Pelanggaran Akses adalah jenis Pengecualian yang disebabkan ketika aplikasi Membaca, Menulis, atau Menjalankan Alamat Memori yang tidak valid.

Kode Pengecualian 0xC0000005

Parameter Pengecualian pertama (0) adalah jenis pelanggaran; Baca (0), Tulis (1) atau Jalankan (8)

Parameter Pengecualian kedua (1) adalah alamat pelanggaran.

Ikuti langkah-langkah ini saat men-debug masalah ini dengan Alat Penelusuran Kesalahan untuk Windows:

  1. .exr -1
    • Kode Pengecualian
    • Parameter[0] - Baca (0), Tulis (1), Jalankan (8)
    • Parameter[1] - Alamat
  2. .ecxr
    • Mendaftarkan nilai di Pelanggaran Akses
    • Instruksi perakitan
      • Baca - lihat ekspresi di sebelah kanan koma
      • Tulis - lihat ekspresi di sebelah kiri koma
      • Jalankan - lihat alamat ekspresi
  3. k
    • Menampilkan Tumpukan Panggilan di Pelanggaran Akses

Alamat memori mungkin tidak valid karena salah satu skenario umum ini:

  • NULL Pointer - alamat antara 0x0 dan 0x10000 (64K) - misalnya fungsi yang biasanya mengembalikan pointer yang dikembalikan NULL (0x0), dan pointer diakses tanpa verifikasi
  • Kerusakan Memori - alamat ditimpa secara keliru atau berbahaya - biasanya melalui buffer overrun (atau underrun)
  • Use-After-Free - alamatnya valid, tetapi sekarang diakses setelah dibebankan (data) atau dibongkar (kode)
  • Bit-Flip - Masalah RAM (perangkat keras) di mana satu atau beberapa bit telah membalik (jarang)

Untuk masalah Baca atau Tulis , lihat episode Baca atau Tulis .
Untuk masalah Jalankan, lihat episode Jalankan.

Perhatikan bahwa aplikasi CLR dengan melempar pengecualian System.NullReferenceException alih-alih pengecualian Pelanggaran Akses saat alamat antara 0x0 dan 0x10000 (64K).

Sumber Daya Tambahan:

Memiliki umpan balik? Kirimkan masalah di sini.