Microsoft-spezifische Ausnahmebehandlungsmechanismen

Werno Hoffmann April 6, 2016 M 0 0
FONT SIZE:
fontsize_dec
fontsize_inc

Microsoft Windows OS Familie beschäftigt rund Ausnahmebehandlungsmechanismen, die auf den Betriebssystem-Besonderheiten beruhen.

Strukturierte Ausnahmebehandlung

Microsoft Structured Exception Handling ist das native Ausnahmebehandlung für Windows und ein Vorläufer-Technologie, um VEH. Es verfügt über die nicht im Standard-С ++ Ausnahmen vorliegenden Mechanismus. SEH ist eingerichtet und für jeden Thread der Ausführung abgewickelt.

Die Microsoft-Implementierung von SEH basiert auf einem Patent von Borland, US-Patent 5.628.016 lizenziert wurde. Open-Source-Betriebssysteme haben widerstanden Annahme eines SEH basierten Mechanismus aufgrund dieses Patents.

Verwendung

Microsoft unterstützt SEH als Programmiertechnik nur den Compiler Ebene. MS Visual C ++ Compiler verfügt über drei Nicht-Standard-Schlüsselwörter :, und zu diesem Zweck. Andere Ausnahmebehandlung Aspekte werden durch eine Anzahl von Funktionen der Win32 API unterstützt, um beispielsweise SEH Ausnahmen manuell anzuheben.

Durchführung

Jeder Thread der Ausführung in Windows hat einen Link zu einer undokumentierten _EXCEPTION_REGISTRATION_RECORD Liste zu Beginn seiner Themen-Information-Block. Die Anweisung ruft im wesentlichen einen Compiler-Funktion. Diese Funktion ordnet ein _EXCEPTION_REGISTRATION_RECORD auf dem Stapel, die auf in der Funktion, fügt dann den Datensatz, den Kopf des Liste. Am Ende des Blocks ein Compiler definierte Funktion aufgerufen wird, die den Rückwärtsbetrieb tut. Jede dieser Compiler definierte Routinen können inline sein. Alle Programmierer definierte und Blöcke aus aufgerufen. Wenn solche Blöcke vorhanden sind, _EXCEPTION_REGISTRATION_RECORD erstellt wird mit ein paar zusätzliche Felder genutzt erweitert.

In einem Fall einer Ausnahme in einem Benutzermodus-Code, analysiert das Betriebssystem _EXCEPTION_REGISTRATION_RECORD Liste des Threads und ruft jeden Exception-Handler in der Reihenfolge, bis ein Handler-Signale es die Ausnahme behandelt oder die Liste erschöpft ist. Der letzte in der Liste ist immer der, der die Allgemeine Schutzverletzung Fehlermeldung displayes. Dann wird die Liste durchlaufen noch einmal geben Handler eine Chance zu bereinigen alle Ressourcen verwendet. Schließlich kehrt die Ausführung in den Kernelmodus, wobei das Verfahren entweder fortgesetzt oder beendet.

Vectored Ausnahmebehandlung

Vectored Ausnahmebehandlung wurde in Windows XP eingeführt. Vectored Ausnahmebehandlung wird zur Verfügung, um Windows-Programmierer mit Sprachen wie C ++ und Visual Basic vorgenommen. VEH ersetzt nicht die strukturierte Ausnahmebehandlung, sondern VEH und SEH koexistieren mit VEH Handler Vorrang vor SEH-Handler. Verglichen mit SEH arbeitet VEH eher wie eine traditionelle Benachrichtigungsrückrufschema.

  Like 0   Dislike 0
Vorherige Artikel Saint-Benin-d'Azy
Nächster Artikel Paine Art Center and Gardens
Bemerkungen (0)
Keine Kommentare

Fügen Sie einen Kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Zeichen übrig: 3000
captcha