Author: Charles Zablit Date: 2026-05-14T16:54:15+02:00 New Revision: 00559c249a8c6aa4d0746839da312ced5031dce6
URL: https://github.com/llvm/llvm-project/commit/00559c249a8c6aa4d0746839da312ced5031dce6 DIFF: https://github.com/llvm/llvm-project/commit/00559c249a8c6aa4d0746839da312ced5031dce6.diff LOG: [lldb][windows] Keep int3 breakpoints inside the debugger on lldb-server (#197669) Added: Modified: lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp Removed: ################################################################################ diff --git a/lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp b/lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp index c5698b1a8368d..4fdb286c93e1e 100644 --- a/lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp +++ b/lldb/source/Plugins/Process/Windows/Common/NativeProcessWindows.cpp @@ -564,7 +564,20 @@ NativeProcessWindows::OnDebugException(bool first_chance, return ExceptionResult::BreakInDebugger; } - [[fallthrough]]; + { + // Any remaining STATUS_BREAKPOINT is a breakpoint instruction in the + // program's own code (e.g. `__debugbreak()` or `__builtin_debugtrap()`). + // Stop the debugger and let the user decide what to do. + std::string desc = + formatv("Exception {0:x8} encountered at address {1:x8}", + record.GetExceptionCode(), record.GetExceptionAddress()) + .str(); + StopThread(record.GetThreadID(), StopReason::eStopReasonException, + std::move(desc)); + SetState(eStateStopped, true); + } + + return ExceptionResult::MaskException; default: LLDB_LOG(log, "Debugger thread reported exception {0:x} at address {1:x} " _______________________________________________ lldb-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
