[Lldb-commits] [PATCH] D92164: Make CommandInterpreter's execution context the same as debugger's one.
Jim Ingham via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Thu Dec 10 17:47:53 PST 2020
jingham added a comment.
This all looks fine except I'm not sure you can have a single override context. The lldb command line is only a bit recursive, but you can have sequences like:
(lldb) command source file_that_contains_a_step
>>> Step hits a breakpoint which has commands
One of those commands is a Python command that calls SBCommandInterpreter::HandleCommandsFromFile - passing in some other SBExecutionContext
IIUC, running the breakpoint command will push one override before running the command. Then HandleCommandsFromFile will push another, and you'll won't get back to the first one.
And one of the weaknesses of lldb right now is that commands can't nest as well as they should. For instance, you really should be able to hit a breakpoint, and have the breakpoint command able to do a couple of next's of whatever, even though the weakness of the lldb command interpreter precludes that at present.
So both for somewhat esoteric reasons like that above, and to future proof this change, I think you have to use a stack for the overrides/restore, not a single element.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D92164/new/
https://reviews.llvm.org/D92164
More information about the lldb-commits
mailing list