Menu
Coddy logo textTech

Exit-Codes

Teil des Abschnitts Grundlagen der Assembly-Journey von Coddy. Lektion 33 von 45.

Wenn dein Programm beendet wird, sendet es eine kleine Zahl an das Betriebssystem zurück. Diese Zahl wird als Exit-Code oder Beendigungsstatus bezeichnet.

Warum Exit-Codes wichtig sind:

Skripte verwenden Exit-Codes, um zu überprüfen, ob ein Programm erfolgreich war. Beispielsweise fährt ein Backup-Skript möglicherweise nur fort, wenn der vorherige Befehl erfolgreich war.

Exit-Codes helfen ebenfalls beim Debuggen. Du kannst unterschiedliche Fehlercodes für verschiedene Probleme verwenden.

Du kannst Programme auch miteinander verketten, sodass ein Programm nur ausgeführt wird, wenn das vorherige erfolgreich war. Die Shell überprüft den Exit-Code, bevor sie den nächsten Befehl ausführt.

Die Regeln für Exit-Codes:

Exit-CodeBedeutung
0Erfolg: Alles hat funktioniert
1-255Etwas ist schiefgelaufen

Fehlercodes auswählen:

Du kannst eine beliebige Zahl von 1 bis 255 verwenden. Was die jeweilige Zahl bedeutet, liegt bei dir als Programmierer.

Exit-CodeWas du vielleicht meinst
1Allgemeiner Fehler
2Eingabedatei fehlt
3Zugriff verweigert
4Netzwerkfehler

 

Was passiert, wenn du keinen Exit-Code festlegst?

Du musst vor dem Exit-Systemaufruf immer rdi setzen. Wenn du das vergisst, enthält rdi beliebige Daten, die im Register zurückgeblieben sind, und dein Programm wird mit einem zufälligen Code beendet.

challenge icon

Aufgabe

Schreibe ein vollständiges Assembly-Programm, das mit dem Exit-Code 2 beendet wird (um „Datei nicht gefunden“ zu signalisieren).

Der Code zum Ausgeben ist für dich vorgegeben. Du musst nur den Exit-Systemaufruf hinzufügen.

Probier es selbst

section .data
    msg db 'Backup complete', 0x0a
    msgLen equ $ - msg

section .text
    global _start

_start:
    ; Nachricht ausgeben (vom Test-Harness bereitgestellt)
    mov rax, 1
    mov rdi, 1
    mov rsi, msg
    mov rdx, msgLen
    syscall

    ; Hier kommt der Code des Studenten hin
    %include "solution.asm"
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Assembly-Playground