Co jsou kritické výjimky

Překlady článku Překlady článku
ID článku: 150314 - Produkty, které se vztahují k tomuto článku.
Tento článek byl dříve publikován CZ150314
Pokud tento článek nepopisuje chybové zprávy, které se zobrazily ve vašem případě, naleznete další články popisující chybové zprávy na webu na adrese:
http://support.microsoft.com/kb/315854/CS/

Další články týkající se kritické výjimky 0E v systému Windows 98 zobrazíte po klepnutí na následující odkaz:
Seznam článků týkajících se kritické výjimky 0E

Další články týkající se kritické výjimky 0E v systému Windows ME obrazíte po klepnutí na následující odkaz:
Seznam článků týkajících se kritické výjimky 0E
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Při pokusu o vypnutí počítače, spuštění systému Windows nebo spuštění programu v systému Windows se mohou zobrazit chybové zprávy podobné následujícím:
Došlo ke kritické výjimce XY na adrese xxxx:xxxxxxxx
Kritické výjimky jsou kódy navracené programy v následujících případech:
  • Došlo k přístupu k nepovolené instrukci.
  • Došlo k přístupu k neplatnému kódu nebo datům.
  • Úroveň oprávnění operace je neplatná.
Pokud dojde k některému z výše uvedených případů, vrátí procesor operačnímu systému výjimku, která je zpracována jako kritická chyba. V mnoha případech jde o neodstranitelnou výjimku a v závislosti na závažnosti chyby je nutné systém buď restartovat, nebo vypnout.

Ve vzorové chybové zprávě výše představuje XY konkrétní výjimku procesoru mezi 00 a 0F. (Za hodnotami 0E, 0F apod. bývá obvykle uvedeno písmeno "h", v níže uvedených vysvětleních je ale vynecháno.) Hodnota xxxx:xxxxxxxx představuje rozšířený instrukční ukazatel na segment kódu; 32bitová adresa je konkrétní adresa, na které došlo k výjimce.

Systém Windows tyto chyby nezpůsobuje, ale obsahuje rutiny pro zpracování výjimek pro jednotlivé výjimky procesoru, které zobrazují tyto chybové zprávy.

Poznámka : Tento článek je určen především pro informační účely. Klepnutím na následující odkaz přejdete na oddíl "Odstraňování kritických výjimek" v tomto článku:

Další informace

Výjimky procesoru a jejich definice

00: Chyba dělení

Tuto výjimku vrací procesor v případě, kdy dojde k chybě dělení. K chybě dělení dojde tehdy, pokud dojde k pokusu o dělení nulou nebo pokud se výsledek operace neshoduje s cílovým operandem.

02: Nemaskovatelné přerušení

Přerušení 2 je vyhrazeno pro hardwarové nemaskovatelné přerušení. Přes přerušení 2 nejsou zachytávány žádné výjimky.

04: Zachycení přetečení

K zachycení přetečení dochází tehdy, kdy po provedení instrukce INTO je bit 0F nastavený na hodnotu 1.

05: Chyba kontroly mezí

Instrukce BOUND porovnává index pole s dolní a horní mezí. Pokud je index mimo rozsah, zachytí procesor přerušení 05.

06: Chyba neplatného kódu

K této chybě dochází v následujících případech:
  • Procesor se pokusí o dekódování bitového vzorku, který neodpovídá žádné platné instrukci.
  • Procesor se pokusí o vykonání instrukce, která obsahuje neplatný operand.
  • Procesor se pokusí o vykonání instrukce chráněného režimu, běží ale ve virtuálním režimu 8086.
  • Procesor se pokusí o uzamčení (LOCK) instrukce, která nemůže být uzamčena.

07: Matematický koprocesor není k dispozici

K této chybě dochází tehdy, pokud počítač nemá matematický koprocesor a bit EM registru CR0 indikuje, že je používána emulace numerického procesoru. Při každém provedení operace s plovoucí desetinnou čárkou dochází k přerušení 07.

K této chybě také dochází tehdy, pokud je používán matematický koprocesor a dojde k přepnutí úloh. Přerušení 07 říká procesoru, že musí být uložen aktuální stav koprocesoru, aby mohl být použitý jinou úlohou.

08: Dvojitá chyba

Zpracovávání výjimky někdy způsobí další výjimku. V takovém případě vyvolá procesor přerušení 08, které znamená dvojitou chybu.

09: Koprocesor překročil hranici segmentu

K této chybě dochází tehdy, pokud instrukce používající plovoucí desetinnou čárku způsobí přístup k paměti za koncem segmentu. Pokud je počáteční adresa operandu plovoucí desetinné čárky mimo segment, dojde k obecné chybě ochrany (přerušení 0D).

10 (0Ah): Chyba stavového segmentu úlohy

Protože stavový segment úlohy obsahuje řadu popisovačů, může být výjimka 0A způsobena množstvím situací. Procesor obvykle získá ze stavového segmentu úlohy dostatek informací, na základě kterých může vyvolat další chybu, která již ukazuje na konkrétní příčinu. Další informace naleznete v příručce Microsoft's Programming the 80386/80486 Guide .

11 (0Bh): Segment není k dispozici

Toto přerušení umožňuje operačnímu systému používat mechanismus segmentace virtuální paměti. Pokud je segment označen jako "Není k dispozici", je přesunutý na pevném disku. K přerušení 0B dojde tehdy, pokud aplikace požaduje přístup k segmentu, který není k dispozici.

12 (0Ch): Chyba zásobníku

K chybě zásobníku dochází s kódem chyby 0, pokud instrukce odkazuje na paměť mimo segment zásobníku. Pokud operační systém podporuje zvětšování segmentů, mělo by tuto chybu odstranit zvětšení zásobníku. Načtení segmentu zásobníku s neplatnými popisovači způsobí obecnou chybu ochrany.

13 (0Dh): Obecná chyba ochrany

Jakákoli situace, kterou nepokrývá jiná výjimka procesoru, vede k obecné chybě ochrany. Tato výjimka znamená, že došlo k narušení programu v paměti, a výsledkem je okamžité ukončení programu.

14 (0Eh): Chyba stránkování

Přerušení Chyba stránkování umožňuje operačnímu systému implementovat virtuální paměť se stránkami na vyžádání. K přerušení 14 obvykle dochází při přístupu k položce v adresáři stránek nebo tabulce stránek, kdy bit přítomnosti dané položky je 0 (Není k dispozici). Operační systém danou stránku zpřístupní (obvykle načte z virtuální paměti) a znovu provede instrukci, která vyvolala tuto chybu a která nyní již může provést požadovaný přístup k segmentu. K chybě stránkování také dochází tehdy, pokud dojde k narušení ochrany stránky (stránku nelze načíst, načtená data nejsou platná nebo kód, který vyvolal tuto chybu, porušil podmínku ochrany procesoru). V takových případech přebírá řízení procesor a vykonává odpovídající akci.

16 (10h): Chyba matematického koprocesoru

K tomuto přerušení dochází tehdy, pokud nemaskovaná výjimka operace s plovoucí desetinnou čárkou signalizuje předchozí instrukci. (Protože procesor 80386 nemá přístup k jednotce zpracovávající operace s plovoucí desetinnou čárkou, kontroluje, zda k této situaci nedošlo, na pinu ERROR\.) K této výjimce také dochází provedením instrukce WAIT, když je nastavený bit Emulate Math Coprocessor na CR0.

17 (11h): Chyba zarovnání paměti

K tomuto přerušení dochází pouze na procesorech 80486. Je vyvoláno tehdy, když se kód běžící na úrovni oprávnění 3 pokusí o přístup k operandu typu word, který není na sudé adrese, operandu typu double-word, jehož adresa není dělitelná čtyřmi, či operandu typu long real, jehož adresa není dělitelná osmi. Kontrola zarovnání je zakázaná při spuštění procesoru a je povolena po přechodu do chráněného režimu.

Odstraňování kritických výjimek

Čisté spuštění počítače

Protože kritické výjimky mohou být způsobeny velkým množstvím různých situací, prvním krokem při hledání konkrétní příčiny je snížení počtu možných příčin, kterého je možné dosáhnout čistým spuštěním počítače.

Odstraňování potíží pomocí čistého spuštění počítače je soubor metod, které omezují možnost výskytu potíží způsobených prostředím počítače. K mnoha potížím dochází z důvodu konfliktu ovladačů, rezidentních programů (TSR) či jiných nastavení, která jsou načítána při spuštění počítače. Další informace o čistém spouštění počítače naleznete v následujících článcích znalostní báze Microsoft Knowledge Base:
192926 Jak odstraňovat potíže se systémem Windows 98 pomocí čistého spuštění počítače
243039 Jak provést čisté spuštění počítače se systémem Windows 95

Hledání ve znalostní bázi Microsoft Knowledge Base

Při hledání ve znalostní bázi Microsoft Knowledge Base za účelem zjištění, zda je v ní zdokumentovaná chyba, ke které dochází ve vašem případě, postupujte podle následujících pokynů:
  1. Navštivte webový server odborné pomoci online společnosti Microsoft na adrese:
    http://support.microsoft.com/support/
  2. Klepněte na odkaz Searchable Knowledge Base (Hledání ve znalostní bázi) a poté klepněte na položku Windows 95 , Windows 98 , Windows 98 Second Edition nebo Windows Millennium Edition v seznamu My search is about (Články týkající se produktu) .
  3. V seznamu I want to search by (Hledat podle) zvolte požadovaný typ dotazu a poté v poli My question is (Dotaz) zadejte jedno nebo více slov, která se týkají potíží, jejichž řešení hledáte.

    Poznámka : Při zadávání dotazu vynechejte adresu uvedenou v chybové zprávě, protože adresa se může lišit v závislosti na prostředí počítače. Pokud například hledáte řešení chybové zprávy, která obsahuje slova "IOS VXD", zadejte ios a vxd a fatal (kritická) a exception (výjimka) a poté klepněte na tlačítko Go (Vyhledat) .
  4. Po klepnutí na tlačítko Go (Vyhledat) se zobrazí seznam článků obsahujících zadaná slova. Články, které se mohou týkat vašich potíží, si prohlédněte.
Další informace o hledání ve znalostní bázi Microsoft Knowledge Base naleznete v následujících článcích znalostní báze Microsoft Knowledge Base:
242450 Jak ve znalostní bázi Microsoft Knowledge Base hledat pomocí klíčových slov

Články o chybových zprávách kritických výjimek

Další informace o chybových zprávách kritických výjimek naleznete v následujících článcích znalostní báze Microsoft Knowledge Base:
133440 Chybová zpráva: Program způsobil kritickou výjimku 0D na adrese 00457:000040B1 a bude ukončen
192803 Grafická karta ATI All-in-Wonder Pro způsobuje kritickou výjimku 0D
175211 Otevření či zavření Ovládacích panelů způsobuje kritickou výjimku
171195 Při použití ovladače MSDLC32 dochází při přechodu či návratu z úsporného režimu ke kritické výjimce
187214 Chybová zpráva: Na adrese 0028:C02A0201 došlo ke kritické výjimce 0E...
190123 Chybová zpráva: Kritická výjimka 06 na adrese...
252523 Při pokusu o připojení k Internetu dochází se kritické výjimce
189655 Chybová zpráva: Na adrese 0028:<XXXXXXXX> došlo ke kritické výjimce 0E
Poznámka : Tento seznam článků není úplný. Pokud žádný z těchto článků neposkytuje řešení vašich potíží, postupujte podle pokynů v oddílů "Hledání ve znalostní bázi Microsoft Knowledge Base" v tomto článku.

Vlastnosti

ID článku: 150314 - Poslední aktualizace: 28. srpna 2006 - Revize: 4.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Windows Millennium Edition
  • Microsoft Windows 98 Second Edition
  • Microsoft Windows 98 Standard Edition
  • Microsoft Windows 95
Klíčová slova: 
kbinfo kbprod2web kbwinme win95 win98 win98se KB150314

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com