# ReadDTCInformation (0x19)

> ReadDTCInformation (0x19) liest Diagnose-Fehlercodes (DTCs) und ihren Status aus einem Steuergerät. Die Sub-Funktion wählt den Report-Typ, etwa reportDTCByStatusMask (02): Der Request 19 02 FF fragt alle DTCs an, die zur Maske passen, die positive Antwort 59 02 trägt die Status-Verfügbarkeitsmaske und eine Liste aus drei Byte langen DTCs mit Status. Er ist meist in der Default Session verfügbar und der Hauptweg, den Fehlerspeicher zu lesen.

UDS ReadDTCInformation (0x19) liest Diagnose-Fehlercodes und ihren Status aus einem Steuergerät. Die Sub-Funktionen, Request- und Response-Bytes und was zu prüfen ist.

Source: https://auto-st.com/de/glossar/read-dtc-information-0x19 · Updated: 2026-10-07

## Was ist ReadDTCInformation (0x19)?

ReadDTCInformation liest den Fehlerspeicher eines Steuergeräts. Das Sub-Funktions-Byte wählt den Report-Typ, der entscheidet, was das Steuergerät zurückgibt: eine Anzahl, eine gefilterte DTC-Liste, einen Snapshot (Freeze Frame) oder erweiterte Daten zu einem DTC.

Ein normaler Ablauf:

| Richtung | Bytes | Bedeutung |
|---|---|---|
| Request | `19 02 FF` | reportDTCByStatusMask, Maske 0xFF |
| Positive Antwort | `59 02 FF 01 23 45 2F ...` | Status-Verfügbarkeitsmaske, dann DTC 0x012345 mit Status 0x2F |
| Negative Antwort | `7F 19 12` | subFunctionNotSupported |

Weitere typische negative Antworten sind `7F 19 13` (incorrectMessageLengthOrInvalidFormat, fehlende Statusmaske) und `7F 19 31` (requestOutOfRange, unbekannte DTC-Nummer bei einem Snapshot-Request).

## Wo ist es definiert?

ISO 14229-1:2020 definiert ReadDTCInformation (0x19) im Stored data transmission functional unit, mit der vollständigen Liste der Report-Typ-Sub-Funktionen, dem drei Byte langen DTC-Format und den acht Status-Bits. Die DTC-Nummerierung und der Bezug zu OBD-Fehlercodes stehen in Begleitnormen, aber der UDS-Service und seine Statusmaske stehen in ISO 14229-1. Der Transport auf CAN ist ISO 15765-2, sodass eine lange DTC-Liste als Mehr-Frame-Nachricht ankommt.

## Was es in der Praxis bedeutet

Der Fehlerspeicher wird in fast jeder Diagnosesitzung gelesen, und der Service ist normalerweise in der Default Session verfügbar, weil er nur liest. Bei der Validierung wird geprüft:

- die unterstützten Sub-Funktionen passen zur Spezifikation, und unbekannte geben NRC 0x12;
- ein Request ohne Statusmaske gibt NRC 0x13;
- die Status-Verfügbarkeitsmaske und die Status-Bits pro DTC sind konsistent;
- Snapshot- und Extended-Data-Requests für einen unbekannten DTC geben NRC 0x31;
- das Lesen von DTCs ändert die gespeicherten Fehler nicht.

Beim Security-Testen ist das DTC-Verhalten auch ein Signal. Ein Fuzzing-Lauf, der die DTC-Anzahl springen lässt, hat wahrscheinlich einen Fehlerpfad getroffen, der eine Meldung wert ist, also dient der Service zugleich als Monitor.

## Wie AutoST es testet

AutoST liest DTC-Informationen bei der Enumeration, sodass das Ergebnis festhält, ob der Fehlerspeicher lesbar ist und in welcher Session. In der Fuzzing-Engine liest ein optionaler DTC-Count-Monitor 0x19 zwischen den Iterationen und meldet jede Änderung der Fehlercode-Anzahl während eines Laufs, was einen wachsenden Fehlerspeicher in ein Signal dafür verwandelt, dass ein Payload einen Fehlerpfad erreicht hat. Die Änderung wird neben dem exakten Payload festgehalten.

## FAQ

**Was ist ein DTC-Status-Byte?**

Jeder DTC trägt einen ein Byte langen Status mit Bits wie testFailed, testFailedThisOperationCycle, confirmedDTC und testNotCompletedThisOperationCycle. ISO 14229-1 definiert die acht Bits, sodass ein Tester einen gespeicherten, bestätigten Fehler von einem nur anstehenden unterscheiden kann.

**Welche Sub-Funktionen sind verbreitet?**

reportNumberOfDTCByStatusMask (0x01), reportDTCByStatusMask (0x02), reportDTCSnapshotRecordByDTCNumber (0x04), reportDTCExtendedDataRecordByDTCNumber (0x06) und reportSupportedDTC (0x0A) implementieren die meisten Steuergeräte.

**Ändert das Lesen von DTCs etwas?**

Nein. ReadDTCInformation liest nur; das Löschen des Fehlerspeichers ist ein eigener Service, ClearDiagnosticInformation (0x14). Lesen lässt sich deshalb sicher während der Enumeration ausführen.

## Sources

- [ISO 14229-1:2020 Straßenfahrzeuge, Unified diagnostic services (UDS), Teil 1: Anwendungsschicht, Stored data transmission functional unit, ReadDTCInformation (0x19)](https://www.iso.org/standard/72439.html)
- [ISO 15765-2 Straßenfahrzeuge, Diagnosekommunikation über CAN (DoCAN), Teil 2: Transportprotokoll und Netzwerkschichtdienste](https://www.iso.org/standard/84211.html)

## Related

- [DTC (Diagnostic Trouble Code, Fehlercode)](https://auto-st.com/de/glossar/dtc)
- [UDS (Unified Diagnostic Services)](https://auto-st.com/de/glossar/uds)
- [ControlDTCSetting (0x85)](https://auto-st.com/de/glossar/control-dtc-setting-0x85)
- [Kenne jede Tür ins ECU.](https://auto-st.com/de/uds-enumeration)
- [Eine Zahl, die du verteidigen kannst, Nachweise, die du ablegen kannst.](https://auto-st.com/de/risikobewertung-reports)
- [UDS-Nachrichten-Decoder](https://auto-st.com/de/tools/uds-nachrichten-decoder)

---
AutoST by Zyberum. Canonical page: https://auto-st.com/de/glossar/read-dtc-information-0x19
