| Previous | Next |
| STATUS_BREAKPOINT | STATUS_BUFFER_OVERFLOW |
STATUS_SINGLE_STEP
A processor debug condition completed one execution step
A single-step exception can be produced by the processor trace flag, by hardware breakpoints in the debug registers, or by debugger machinery that temporarily enables stepping to move past a breakpoint. It is therefore a control event rather than evidence that the instruction itself failed.
Unexpected occurrences often come from stale debug-register state, anti-debugging code, instrumentation, or a handler that restored EFlags/RFlags incorrectly. Examine the complete thread context, especially the trap flag and DR0–DR7, before changing application logic. A debugger receives first-chance notification and may intentionally consume the event; only an unhandled or repeatedly re-raised event is normally visible as an application failure.
What to inspect
- Record the trap flag and hardware debug-register values from the exception context.
- Check whether the preceding breakpoint handler intentionally requested one step.
- Identify injected instrumentation or security software modifying thread contexts.
- Do not classify the stepped instruction as faulty without another exception.
References
- Microsoft Learn: Debugger Exception Handling
- Microsoft Learn: Exception Dispatching
- Microsoft Learn: Specific Exceptions
- Microsoft Learn: EXCEPTION_RECORD
Looking for a different code? Search another status or error code.
