Bölüm

Erişim İhlali C0000005

Erişim İhlali, bir uygulamanın geçersiz bir Bellek Adresini Okuması, Yazması veya Yürütmesi nedeniyle oluşan bir Özel Durum türüdür.

Özel Durum Kodu 0xC0000005

İlk Özel Durum Parametresi (0), ihlalin türüdür; Okuma (0), Yazma (1) veya Yürüt (8)

İkinci Özel Durum Parametresi (1), ihlalin adresidir.

Windows için Hata Ayıklama Araçları ile bu sorunlarda hata ayıklarken şu adımları izleyin:

  1. .exr -1
    • Özel Durum Kodu
    • Parametre[0] - Okuma (0), Yazma (1), Yürütme (8)
    • Parametre[1] - Adres
  2. .ecxr
    • Erişim İhlali'nde değerleri kaydetme
    • Assembler yönergesi
      • Okuma - virgülünün sağındaki ifadeye bakın
      • Yazma - virgülünün solundaki ifadeye bakın
      • Execute - ifadenin adresine bakın
  3. Kahraman
    • Erişim İhlalinde Çağrı Yığınını Görüntüleme

Bu yaygın senaryolardan biri nedeniyle bellek adresi geçersiz olabilir:

  • NULL İşaretçisi - 0x0 ile 0x10000 (64K) arasındaki adresler ( örneğin, genellikle null (0x0) döndürülen bir işaretçi döndüren ve işaretçiye doğrulama olmadan erişilen bir işlev
  • Bellek Bozulması - adresin yanlışlıkla veya kötü amaçlı olarak üzerine yazıldı - genellikle arabellek taşması (veya yetersiz çalıştırma) yoluyla
  • KullanımDan Sonra - adres geçerliydi , ancak artık serbest (veri) veya kaldırıldıktan (kod) sonra erişiliyor
  • Bit-Flip - Bir veya daha fazla bitin çevrildiği (nadir) RAM (donanım) sorunu

Okuma veya Yazma sorunları için Okuma veya Yazma bölümüne bakın.
Yürütme sorunları için Yürütme bölümüne bakın.

adresi 0x0 ile 0x10000 (64K) arasında olduğunda Erişim İhlali özel durumu yerine System.NullReferenceException özel durumu oluşturan CLR uygulamalarının olduğunu unutmayın.

Ek Kaynaklar:

Geri bildirimde bulunmak ister misiniz? Burada bir sorun gönderin.