Porušení úložiště - Storage violation

Ve výpočtu se porušení při skladování je hardware nebo software poruchy , která nastane, když jen úkol pokusy o přístup k ploše počítače skladování , které není povolen přístup.

Druhy narušení úložiště

Narušení úložiště může například spočívat ve čtení z, zápisu do nebo uvolnění úložiště, které tato úloha nevlastní. Běžný typ narušení úložiště se nazývá přetečení vyrovnávací paměti zásobníku, kde se program pokouší překročit limity stanovené pro jeho zásobník volání . Může také odkazovat na pokus o úpravu paměti „vlastněné“ jiným vláknem, kde je neúplná (nebo žádná) ochrana paměti.

Zamezení narušení úložiště

K narušení úložiště může dojít v transakčních systémech, jako je CICS, za okolností, kdy je možné zapisovat do úložiště, které transakce nevlastní; tato porušení lze snížit povolením funkcí, jako je ochrana úložiště a izolace transakcí .

Zjištění narušení úložiště

Porušení úložiště může být obtížné zjistit, protože program může často běžet po určitou dobu po narušení, než dojde k jeho selhání. Například ukazatel na uvolněnou oblast paměti lze zachovat a později znovu použít, což způsobí chybu. Výsledkem je snaha zaměřit se na detekci porušení, která se vyskytnou, a nikoli později, když je problém zjištěn.

V systémech jako CICS jsou narušení úložiště někdy detekována ( jádrem CICS ) pomocí „podpisů“, které lze otestovat, aby se zjistilo, zda byly překryty.

Alternativní běhová knihovna může být použita k lepší detekci porušení úložiště za cenu další režie. Některé programovací jazyky používají k omezení těchto výskytů kontrolu hranice softwaru .

Některý software pro ladění programů také zjistí porušení během testování.

Běžné příčiny

  • Uprchlý dolní index vedoucí k nelegálnímu použití úpravy odkazu během běhu.
  • Neshoda rozložení spojení mezi volanými a volajícími prvky.
  • Použití dříve uvolněné (a někdy již nově přidělené) paměti.

Příklady softwaru detekujícího narušení úložiště

Viz také

Reference

externí odkazy