Betriebssystem-Eigenschaften von RMOS3
8.6 DEBUG-Strategien unter RMOS3
Die Exceptions können mit dem rm-gdb aus dem Software-Paket RMOS3-GNU untersucht
werden (siehe Handbuch RMOS3-GNU).
Abhängig davon, ob das EIP-Register nach dem Exception-Interrupt die Adresse des
auslösenden Befehls oder des nächsten Befehls enthält, gibt der EIH entweder AT
ADDRESS oder NEAR ADDRESS aus.
Beispiel einer Bildschirmausgabe:
*** nuc-0: 02-JAN-2003 10:39:44, GENERAL PROTECTION AT ADDRESS: 0270:0000027A
0270:0000027A 64C60000 MOV BYTE PTR FS:[EAX],00
error code: 0
caused by task id: 0x21: 'exep prot'
eax: FFFFFFFF, ebx: 00000000, ecx: 00000280, edx: 00000068
esi: AA55AA55, edi: 000002B8, ebp: FFFFFF78, esp: FFFFFF64
ss: 0278, ds: 0280, es: 0280, fs: 0000, gs: 0228
cr0: 7FFFFFE3, cr2: 00000000, cr3: 0000C000
eflag: 00010282 ( SIGN INTERRUPT IOPL(0) RESUME )***
Das Beispiel zeigt die Bildschirmausgabe des EIH bei einem
Interrupt, der durch die Task
NMI
Der NMI-INTERRUPT (INT 2) wird nur vom Assembler-Teil des EIH bearbeitet. Auf dem
Bildschirm wird dabei folgende Zeichenfolge ausgegeben:
*** nuc-0: <datum> <uhrzeit> NMI INTERRUPT
Der Exception-Interrupthandler ist als Datei MISCIN.ASM im Verzeichnis EXAMPLES\ETC
abgelegt. Weitere Informationen zum Einsatz des Exception-Interrupthandlers finden Sie im
Systemhandbuch, Kapitel 4.4 "Exception Interrupt Handler".
8.6.6
SVC-Exceptionhandler
Fehlerrückgaben von SVCs
Der SVC-Exceptionhandler ist ein Unterprogramm, das im S-Zustand aufgerufen wird. Der
Quellcode für diese Routinen ist im Verzeichnis SOURCE\ETC\CADUL\ in der Datei
SVCEXC.C abgelegt. Diese Routinen unterstützen Anwender, die nicht immer die
Fehlerrückgaben von SVCs konsequent auswerten. Jeder SVC mit Returnstatus ungleich 0
(0=
Diese von der Programmierung der Anwendertasks unabhängigen Meldungen helfen beim
Auffinden von Unregelmäßigkeiten in einem System. Dies sind zum Beispiel nicht
ausgewertete Returncodes, die den Programmablauf beeinflussen können. Die
Fehlermeldungen haben folgendes Aussehen
*** nuc-0: <datum> <uhrzeit>, svc <name> <zustandstext>
failed: <fehlernummer> (<fehlertext>)
136
), wird mit einer entsprechenden Fehlermeldung an der Systemkonsole ausgegeben.
RmOK
mit der ID 21 ausgelöst wurde.
exep prot
GENERAL PROTECTION
RMOS3 V3.50 Benutzerhandbuch
Bedienhandbuch, 07/2012, A5E03692290-01
Exception