[Lldb-commits] [lldb] [lldb] Implement basic support for reverse-continue (PR #112079)
Robert O'Callahan via lldb-commits
lldb-commits at lists.llvm.org
Mon Nov 11 13:56:43 PST 2024
rocallahan wrote:
> My notion was that when you push a plan that has an intention to run in a direction, if the plan above it on the stack was going in the opposite direction, it has to be popped.
That's in the current code in this PR but I agree that was the wrong direction. My experimental [reverse-continue-thread-plan](https://github.com/rocallahan/llvm-project/tree/reverse-continue-thread-plan) branch doesn't do this.
> After all, you might be doing a backwards direction next, but hit a breakpoint while doing that. You then want to step FORWARDS from that breakpoint to check something out.
Right.
> Then if stepping backwards and forwards were working like lldb stepping currently works, you'd expect "continue" to return control to the backwards next to finish out the operation.
There's a UX issue here: in the scenario you describe (hit breakpoint during reverse-next, step forward, continue) *should* the reverse-step be resumed? Personally I think not. I think it's very confusing if "continue" ever causes reverse execution (and likewise if "reverse-continue" ever causes forward execution). So in this case I would say "reverse-continue" should resume the reverse-next but "continue" should pop it.
This is helpful discussion but it doesn't directly address my question in https://github.com/llvm/llvm-project/pull/112079#issuecomment-2468857787. Can we focus on that?
https://github.com/llvm/llvm-project/pull/112079
More information about the lldb-commits
mailing list