[Lldb-commits] [lldb] [lldb] Use private stop for breakpoint-delaying decision (PR #199639)

Felipe de Azevedo Piovezan via lldb-commits lldb-commits at lists.llvm.org
Tue May 26 02:26:21 PDT 2026


https://github.com/felipepiovezan created https://github.com/llvm/llvm-project/pull/199639

Using the public stop is correct but too conservative: breakpoints changed during private stops are very likely to happen while the process has a public "running" state but a private "stopped" state.

>From 2f867e08ba7d4b61c701ec0315442db44af84c41 Mon Sep 17 00:00:00 2001
From: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: Tue, 26 May 2026 10:23:20 +0100
Subject: [PATCH] [lldb] Use private stop for breakpoint-delaying decision

Using the public stop is correct but too conservative: breakpoints
changed during private stops are very likely to happen while the process
has a public "running" state but a private "stopped" state.
---
 lldb/source/Target/Process.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp
index 39399480b0806..83c8f434e9a57 100644
--- a/lldb/source/Target/Process.cpp
+++ b/lldb/source/Target/Process.cpp
@@ -1602,7 +1602,7 @@ llvm::Error Process::ExecuteBreakpointSiteAction(BreakpointSite &site,
                                                  BreakpointAction action,
                                                  bool forbid_delay) {
   // Breakpoints immediately affect running processes, so do not delay them.
-  forbid_delay |= IsRunning();
+  forbid_delay |= StateIsRunningState(GetPrivateState());
 
   if (forbid_delay)
     if (llvm::Error E = FlushDelayedBreakpoints())



More information about the lldb-commits mailing list