Wat zijn fatale uitzonderingsfouten?

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 150314 - Bekijk de producten waarop dit artikel van toepassing is.
Dit artikel is eerder gepubliceerd onder NL150314
Alles uitklappen | Alles samenvouwen

Op deze pagina

Samenvatting

Wanneer u de computer probeert af te sluiten, Windows probeert te starten of een toepassing in Windows probeert te starten, kan het zijn dat er een foutbericht wordt weergegeven waarvan de strekking overeenkomt met:
Een fatale uitzondering <XY> is voorgekomen op xxxx:xxxxxxxx
Fatale uitzonderingsfouten zijn codes die door een programma worden geretourneerd als:
  1. Er een ongeldige instructie wordt aangetroffen
  2. Er ongeldige gegevens of ongeldige codes zijn benaderd
  3. Het machtigingsniveau van een bepaalde bewerking ongeldig is

In al deze situaties verzendt de processor een uitzondering naar het besturingssysteem. Deze uitzondering resulteert dan in een fatale uitzonderingsfout. Vaak is de uitzondering onherstelbaar en moet het systeem opnieuw worden opgestart of worden afgesloten, naargelang de ernst van de fout.

In het volgende voorbeeld van een fatale uitzonderingsfout
Een fatale uitzondering <XY> is voorgekomen op xxxx:xxxxxxxx

staat <XY> voor de eigenlijke processoruitzondering met een code van 00 tot en met 0F (de h die verderop in dit artikel aan de code wordt toegevoegd, wordt in het foutbericht vaak weggelaten). 'xxxx:xxxxxxxx' staat voor de uitgebreide instructieverwijzing naar het codesegment en het 32-bits adres is het eigenlijke adres waar de uitzondering is opgetreden.

Deze fouten worden niet door Windows gegenereerd. Windows bevat echter wel de verwerkingsroutine voor deze processoruitzondering, die ervoor zorgt dat het bovenstaande foutbericht wordt weergegeven.

OPMERKING: deze sectie is louter informatief. Als u naar de probleemoplossingssectie van dit artikel wilt gaan, klikt u op de volgende koppeling:

Meer informatie

Hier volgt een overzicht van alle processoruitzonderingen en de bijbehorende definities:

00: Divide Fault

Deze uitzondering wordt door de processor geretourneerd als er een deelfout wordt aangetroffen. Deelfouten treden op als wordt geprobeerd om te delen door nul of als het resultaat van de berekening niet in de doeloperand past.



02: NMI interrupt

Interrupt 2 is gereserveerd voor de hardwareconditie Non-Maskable-Interrupt. Er worden geen uitzonderingen onderschept door interrupt 2.



04: Overflow trap

Deze uitzondering treedt op nadat een INTO-instructie is uitgevoerd en de 0F-bit op 1 is ingesteld.

05: Bounds Check Fault

Bij de instructie BOUND wordt de matrixindex vergeleken met een boven- en onderlimiet. Als de index buiten het bereik valt, schakelt de processor over naar interrupt 05.

06: Invalid Opcode fault

Deze fout wordt geretourneerd als een of meer van de volgende condities waar zijn:
  1. De processor probeert een bitpatroon te decoderen dat niet overeenkomt met een geldige computerinstructie.
  2. De processor probeert een instructie uit te voeren waarin ongeldige operanden zijn opgenomen.
  3. De processor probeert een protected-modus instructie uit te voeren terwijl de virtuele 8086-modus actief is.
  4. De processor probeert een LOCK-opdracht uit te voeren in combinatie met een instructie die niet kan worden vergrendeld.

07: Coprocessor not available fault

Deze fout treedt op als de computer geen rekenkundige coprocessor heeft en de EM-bit van register CR0 aangeeft dat gebruik wordt gemaakt van numerieke gegevensprocessor-emulatie. Steeds wanneer er een drijvende-kommabewerking wordt uitgevoerd, treedt interrupt 07 op.

Deze fout treedt ook op als er een rekenkundige coprocessor wordt gebruikt en er een taakomschakeling wordt uitgevoerd. Als interrupt 07 optreedt, weet de processor dat de huidige status van de coprocessor moet worden opgeslagen, zodat deze door een andere taak kan worden gebruikt.

08: Double Fault

De verwerking van een uitzondering leidt soms tot een tweede uitzondering. In dat geval wordt interrupt 08 gegenereerd voor een dubbele fout.

09: Coprocessor Segment Overrun

Deze fout treedt op als er door een drijvende-komma-instructie een geheugenbenadering plaatsvindt die verder gaat dan het einde van het segment. Als het beginadres van de drijvende-komma-operand zich buiten het segment bevindt, treedt er een algemene beschermingsfout op (interrupt 0D).

10 (0Ah): Invalid Task State Segment Fault

Aangezien het taakstatussegment meerdere descriptoren bevat, kan uitzondering 0A door diverse condities worden veroorzaakt. Meestal kan de processor uit het taakstatussegment voldoende informatie afleiden om nog een fout te genereren die naar het daadwerkelijke probleem verwijst. Zie 'Microsoft's Programming the 80386/80486 Guide' voor meer informatie.

11 (0Bh): Not Present Fault

De interrupt Niet aanwezig zorgt ervoor dat het besturingssysteem virtueel geheugen kan implementeren via het segmentatiemechanisme. Wanneer een segment als 'niet aanwezig' wordt gemarkeerd, wordt het segment uitgewisseld naar de schijf. De interruptfout 0B wordt gegenereerd als voor een bepaalde toepassing toegang tot het segment is vereist.

12 (0Ch): Stack Fault

Een stackfout met foutcode 0 treedt op als een instructie verwijst naar geheugen dat de limiet van het stacksegment overschrijdt. Als het besturingssysteem ondersteuning biedt voor het naar beneden uitbreiden van segmenten, kan het probleem mogelijk worden opgelost door de stack groter te maken. Als het stacksegment wordt geladen met ongeldige descriptoren, resulteert dit in een algemene beschermingsfout.

13 (0Dh): General Protection Fault

Alle condities die niet onder een van de andere processoruitzonderingen vallen, resulteren in een algemene beschermingsfout. Deze uitzondering geeft aan dat een bepaalde toepassing in het geheugen is beschadigd. De toepassing wordt dan meestal direct beëindigd.

14 (0Eh): Page Fault

De interrupt Paginafout zorgt ervoor dat het besturingssysteem virtueel geheugen kan implementeren op Demand Paged-basis. Interrupt 14 wordt meestal gegenereerd als er een Page Directory Entry of een Page Table wordt benaderd en de presentiebit is ingesteld op 0 (Niet aanwezig). Het besturingssysteem zorgt er dan voor dat de pagina alsnog beschikbaar wordt (meestal wordt de pagina opgehaald uit het virtuele geheugen). Als de (aanvankelijk mislukte) instructie vervolgens automatisch opnieuw wordt uitgevoerd, kan het segment wel worden benaderd. Paginafouten treden ook op als er een regel voor paginabescherming wordt geschonden (als het ophalen mislukt, als de opgehaalde gegevens ongeldig zijn of als de code waardoor de fout werd gegenereerd, in strijd is met de beschermingsregel voor de processor). In dergelijke gevallen onderneemt het besturingssysteem de benodigde actie.



16 (10h): Coprocessor error Fault

Deze interrupt treedt op als een niet-gemaskeerde drijvende-komma-uitzondering een eerdere instructie aantreft. (Aangezien de 80386 geen toegang heeft tot de Floating Point Unit, wordt de pincode ERROR\ gecontroleerd om op deze conditie te testen). Dit wordt ook geactiveerd door een WAIT-instructie als de Emulate Math Coprocessor-bit van CR0 is ingesteld.

17 (11h): Alignment Check Fault

Deze interrupt wordt alleen gebruikt door de centrale verwerkingseenheid van 80486-computers. Interrupt 17 wordt gegenereerd wanneer code die op ringprivilege 3 wordt uitgevoerd, een benaderingspoging doet tot een woordoperand die zich niet op de grens van een even adres bevindt, tot een dubbele-woordoperand die niet deelbaar is door vier of tot een lang reëel getal of een tijdelijk reëel getal waarvan het adres niet deelbaar is door acht. De uitlijncontrole wordt uitgeschakeld als de centrale verwerkingseenheid eerst wordt geactiveerd en alleen wordt gebruikt in de beveiligde modus.

Problemen met fatale uitzonderingsfouten oplossen

Aangezien fatale uitzonderingsfouten door diverse omstandigheden kunnen worden veroorzaakt, kunt u het beste allereerst proberen het probleem af te bakenen. Hiertoe start u de computer schoon op.

Schoon opstarten

Door de computer schoon op te starten kunt u vaststellen of het probleem te maken heeft met de omgeving van uw computer. Problemen bij het uitvoeren van Windows of van toepassingen worden namelijk vaak veroorzaakt door conflicterende stuurprogramma's, door TSR-programma's (Terminate-and-Stay-Resident) en door andere instellingen die tijdens het opstarten van de computer worden geladen. Als u meer informatie wilt over het schoon opstarten van de computer, klikt u op een van de volgende artikelnummers uit de Microsoft Knowledge Base:
192926Problemen oplossen door het systeem schoon op te starten voor Windows 98
243039 How to Perform a Clean Boot in Windows 95


Een zoekactie uitvoeren in de Microsoft Knowledge Base

Als u wilt weten of een bepaald foutbericht in de Microsoft Knowledge Base wordt beschreven, gaat u als volgt te werk:
  1. Maak verbinding met de website Microsoft Support Online. Deze website bevindt zich op het volgende Internet-adres: http://support.microsoft.com/support/
  2. Klik op de koppeling naar Search the KB, klik op de koppeling naar Advanced Search en klik vervolgens op Windows 95, Windows 98 of Windows 98 Second Edition in het vak My search is about.
  3. Klik in het vak I want to search by op het type zoekactie dat u wilt uitvoeren. Geef vervolgens in het vak My search is about een of meer trefwoorden op die betrekking hebben op uw probleem. OPMERKING: het is raadzaam om bij het opgeven van trefwoorden niet het exacte adres van het foutbericht in te voeren. Dit adres kan namelijk op elke computer verschillend zijn, terwijl het om hetzelfde probleem gaat. Als er bijvoorbeeld een foutbericht wordt weergegeven met een 'IOS VXD', geeft u de trefwoorden ios and vxd and fatal and exception op. Klik vervolgens op Go.
  4. Er verschijnt een lijst met artikelen waarin de door u opgegeven trefwoorden zijn opgenomen.
  5. Bekijk de titels om na te gaan welk artikel het beste aansluit op uw specifieke probleem.

Als u meer informatie wilt over het uitvoeren van zoekacties in de Microsoft Knowledge Base, klikt u op de volgende artikelnummers:
242450De Microsoft Knowledge Base doorzoeken met behulp van trefwoorden

Andere artikelen over foutberichten met betrekking tot fatale uitzonderingen

Als u meer informatie wilt over foutberichten die betrekking hebben op fatale uitzonderingen, klikt u op de volgende artikelnummers uit de Microsoft Knowledge Base:
133440 Error Message: This program has caused a Fatal Exception 0D...
192803 Fatal Exception 0D Using ATI All-in-Wonder Pro Video Adapter
175211 Fatal Exception Error When Opening or Closing Control Panel
171195 Fatal Exception Error Suspending and Resuming with MSDLC32
187214Foutbericht: Fatale uitzondering 0E op 0028:C02A0201...
190123 Error Message: A Fatal Exception 06 Has Occurred at...
252523 Fatal Exception Error When Attempting to Connect to the Internet
189655 Err Msg: A Fatal Exception 0E Has Occurred at 0028:<XXXXXXXX>


OPMERKING: de bovenstaande lijst met artikelen is niet volledig. Als geen enkel artikel in deze lijst betrekking heeft op uw probleem, volgt u de procedure in de sectie 'Een zoekactie uitvoeren in de Microsoft Knowledge Base'. Zo kunt u zelf de gewenste informatie zoeken.

Referenties

Microsoft's 80386/80486 Programming Guide, Second Edition

The Indispensable PC Hardware Book, Second Edition

Microsoft Press Computer Dictionary, Second Edition

Eigenschappen

Artikel ID: 150314 - Laatste beoordeling: donderdag 10 augustus 2006 - Wijziging: 3.0
De informatie in dit artikel is van toepassing op:
  • Microsoft Windows 98 Standard Edition
  • Microsoft Windows 95
  • Microsoft Windows 98 Tweede editie
  • Microsoft Windows Millennium Edition
Trefwoorden: 
kbwinme win95 win98 KB150314

Geef ons feedback

 

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