Epizód

Hozzáférés-megsértési C0000005

A hozzáférés-megsértés olyan kivételtípus, amely akkor keletkezik, ha egy alkalmazás érvénytelen memóriacímet olvas, ír vagy hajt végre.

A kivételkód 0xC0000005

Az első kivételparaméter (0) a szabálysértés típusa; Olvasás (0), írás (1) vagy végrehajtás (8)

A második kivételparaméter (1) a szabálysértés címe.

A Windows hibakeresési eszközeivel kapcsolatos problémák hibakereséséhez kövesse az alábbi lépéseket:

  1. .exr -1
    • Kivételkód
    • Paraméter[0] – Olvasás (0), Írás (1), Végrehajtás (8)
    • Paraméter[1] – Cím
  2. .ecxr
    • Értékek regisztrálása a hozzáférés megsértésekor
    • Szerelői utasítás
      • Olvasás – tekintse meg a vessző jobb oldalán lévő kifejezést
      • Írás – tekintse meg a vessző bal oldalán lévő kifejezést
      • Végrehajtás – tekintse meg a kifejezés címét
  3. K
    • A hívásverem megtekintése a hozzáférés-megsértésnél

A memóriacím érvénytelen lehet az alábbi gyakori forgatókönyvek egyike miatt:

  • NULL mutató – 0x0 és 0x10000 (64K) közötti címek – például egy függvény, amely általában null értéket (0x0) ad vissza, és a mutató ellenőrzés nélkül lett elérve
  • Memóriasérülés – a címet tévesen vagy rosszindulatúan felülírták – általában puffertúllépéssel (vagy aláfutással)
  • Használat után ingyenes – a cím érvényes volt , de most már elérhető, miután felszabadították (adatok) vagy törölték (kód)
  • Bit-Tükrözés – RAM (hardver) probléma, amely miatt egy vagy több bit tükrözött (ritka)

Olvasási vagy írási problémák esetén tekintse meg az Olvasás vagy írás epizódot.
A végrehajtással kapcsolatos problémákért tekintse meg a Végrehajtás epizódot.

Vegye figyelembe, hogy az olyan CLR-alkalmazások, amelyek a Hozzáférés-megsértési kivétel helyett System.NullReferenceException kivételt adnak, ha a cím 0x0 és 0x10000 (64K) között van.

Additional Resources:

Visszajelzés küldene? Problémát itt küldhet be.