labath wrote:

Thanks for the explanation, Jason. I believe I understand the problem now. 
Here, we're concerned with whether the physical breakpoint opcode got executed, 
and not about the higher level machinery (conditional breakpoints, ignore 
count, ...), which builds on top of that and can cause a breakpoint hit to 
"disappear". Since StopInfo tracks the "logical" stop reason of the process 
(after all of these filters are applied), using it to track the "physical" one 
would be tricky at best.

> Looking at the total requirements, the rule can be condensed to: If this 
> thread stopped at a BreakpointSite which it did not execute, we should 
> execute the breakpoint on Resume. In any other case, a thread sitting at a 
> BreakpointSite should silently step past it and resume execution.

So, IIUC, there would just be one field (the "unexecuted breakpoint site") 
instead of two. I'll take that, I think having just one field to think about 
would make it easier to understand the overall logic.

https://github.com/llvm/llvm-project/pull/96260
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to