What does NTSTATUS 0x4000001F (STATUS_WX86_BREAKPOINT) mean?

 
Previous Next
STATUS_WX86_SINGLE_STEP STATUS_WX86_EXCEPTION_CONTINUE

STATUS_WX86_BREAKPOINT

WX86 breakpoint handling has a separate exception code in Microsoft debugger tooling

STATUS_WX86_BREAKPOINT is not the normal STATUS_BREAKPOINT value. Microsoft DbgShell source defines both codes and gives the WX86 value 0x4000001F its own exception-filter abbreviation. This matters when a debugger, crash collector, or compatibility layer classifies events by exact exception code: collapsing the value to a generic breakpoint can lose the fact that the event came through the Win32 x86 emulation status family.

Windows debugging documentation says breakpoint and single-step exceptions are especially relevant at first-chance notification, when a debugger can inspect and modify process state before frame-based exception handlers run. It also documents independent break and handling policies for exception events. The public documents do not expose the internal WX86 breakpoint instruction emulation path, so a custom page should not claim a particular instruction patching algorithm or WOW implementation.

For a missed or repeatedly re-triggered breakpoint, log the raw code, debugger chance, emulated x86 instruction pointer, breakpoint address, thread, and the continuation status returned by the debugger. Check whether the tool has a filter entry for the WX86 code; Microsoft's own DbgShell source shows that treating it separately is intentional. Compare with STATUS_WX86_SINGLE_STEP when stepping after a breakpoint, because the next event may be the emulation-specific single-step code rather than the native one expected by a simplistic debugger.

What to inspect

  • Record the exact exception code instead of mapping all breakpoints to 0x80000003.
  • Check first-chance policy and the continuation status supplied by the debugger.
  • Trace the transition from WX86 breakpoint to WX86 single-step when implementing step-over logic.

References


Looking for a different code? Search another status or error code.