Follow open, configure, transfer
- Verify port enumeration/name and exclusive-open errors.
- Record configuration and control-line state after opening.
- Trace event/thread callbacks, shared buffers and UI synchronization.
- Handle partial reads and multiple frames per event.
- Separate read timeout, protocol timeout and application timer.
- Compare received bytes with passive wire capture.
Locate the failing layer
| No port/open failure | Enumeration, driver, permissions or another owner. |
|---|---|
| Wire correct, parser wrong | Buffer/event/threading defect. |
| Wire corrupt | Baud/framing, adapter or physical layer. |
| Only USB fails | COM mapping, latency or control-line differences. |
Use Delphi serial implementation, traffic capture, virtual COM integration and the pillar.
Provide component/API, source, port settings, captures and exact lifecycle symptom.