jimingham wrote:


> On Jul 22, 2024, at 2:54 PM, rocallahan ***@***.***> wrote:
> 
> 
> @rocallahan commented on this pull request.
> 
> In lldb/source/Target/Process.cpp 
> <https://github.com/llvm/llvm-project/pull/99736#discussion_r1687180167>:
> 
> > @@ -3264,6 +3266,11 @@ Status Process::PrivateResume() {
>    // filters before resuming.
>    UpdateAutomaticSignalFiltering();
>  
> +  if (m_last_run_direction != direction) {
> I'm a bit worried that in general thread plans have a lot of complexity, and 
> adding more complexity by allowing multiple stacked plans with different 
> directions might be bad enough for maintainability that it's overall a bad 
> idea.
> 
I hope that's not true.  I don't think we need to have the thread plans have 
some pinning to the time-line of the user's actions.  For instance, if you were 
doing a "forward-next", hit a breakpoint and did some forward and backwards 
stepping, then did a backwards continue to a point where that thread no longer 
existed, then a forward continue back to where you started from, we do NOT need 
to preserve the next behavior at that point.  However, so long as the forward 
and backward operations always happen under the frame we were next-ing on, we 
should be able to preserve the behavior in that case. 

It shouldn't be too unnatural, every time we stop we do a sanity check on the 
plans to see if they are still relevant before we return control to the user.  
For instance, if you were nexting over a call that threw an exception, which 
was caught above the frame you were `nexting` in we have to do the same sort of 
"is stale" pruning.  As long as we're appropriately firm about pruning plans as 
they stop being relevant, this should be manageable.

Jim


> —
> Reply to this email directly, view it on GitHub 
> <https://github.com/llvm/llvm-project/pull/99736#discussion_r1687180167>, or 
> unsubscribe 
> <https://github.com/notifications/unsubscribe-auth/ADUPVW3VEF6SXZPEBS5W5KDZNV5RDAVCNFSM6AAAAABLFTBQAKVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDCOJSGYYTGNRYGA>.
> You are receiving this because you are on a team that was mentioned.
> 



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

Reply via email to