[Lldb-commits] [PATCH] D111209: Don't push null ExecutionContext on CommandInterpreter exectx stack

Jim Ingham via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Nov 3 10:21:19 PDT 2021


jingham added a comment.

This needs some more design, I think.  The obvious solution to Ted's problem is that `target create` should make the new target the currently selected one.  Then the second HandleCommand would have a selected target, and the second command would work.  But that doesn't seem right to me when you consider that there might be more than one process at a time in a target, which we definitely want to.

For instance, suppose I hit a breakpoint callback in Target A that creates a new target (B) when the breakpoint is hit, attaches that Target B to some other process, and continues.  If I'm stopped at a breakpoint in Target C, without anything that I can discern happening, Target B becomes the selected target, and all my commands start going to it.  That can't be right.

For the Driver, this is not so complicated.  If some one issues a target create command directly in the Driver, then it makes sense to select that target.  That's clearly the user's intent.

But in scripting contexts, I don't think we should be switching around the selected target.  Instead, commands run in the script interpreter should be explicit about what execution context they are working on.  If I could deprecate one API it would be the HandleCommand with no exe_ctx...


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D111209/new/

https://reviews.llvm.org/D111209



More information about the lldb-commits mailing list