[Lldb-commits] [PATCH] Invalidate process uid/gid command options on Windows
jingham at apple.com
jingham at apple.com
Mon Jul 7 10:51:51 PDT 2014
If there's no target, then we should consult the current platform - if nobody set a platform then that will default to the host platform. Usually you get that from the target, so it would seem odd to pass that in separately, but maybe in this case that's okay to do. Otherwise whoever would be passing an ExecutionContext to the validators could, in the case where there was no selected target, make up an empty target, set it to the current platform and pass that in to the validator.
> On Jul 3, 2014, at 10:00 PM, Zachary Turner <zturner at google.com> wrote:
> So, with an ExecutionContext, everything is null if there's no target. For example, I might not be attached to anything, but trying to list processes on the host in order to know what process to attach to.
> How to cleanly support all of these use cases?
> On Thu, Jul 3, 2014 at 11:14 AM, <jingham at apple.com> wrote:
> Again, the validator should take an execution context not an interpreter. Some uses of commands, particularly HandleCommands used by breakpoint callbacks and the like, don't use the Command Interpreter's execution context, rather they are passed in the appropriate environment.
> > On Jul 3, 2014, at 2:24 AM, Zachary Turner <zturner at google.com> wrote:
> > This patch implements the core logic to invalidate command options based on the interpreter state, and uses this to invalidate uid/gid related options of the "platform process list" command on Windows.
> > When an invalid option is specified for a command, an error message is printed that explains the reason that the option is invalid, and furthermore when the help of a command is printed, options which have runtime validity conditions display an abbreviated-condition string in square braces prior to the long description of the option.
> > http://reviews.llvm.org/D4373
> > Files:
> > include/lldb/Host/OptionParser.h
> > include/lldb/Interpreter/CommandInterpreter.h
> > include/lldb/Interpreter/CommandOptionValidators.h
> > include/lldb/Interpreter/Options.h
> > include/lldb/Target/TargetList.h
> > include/lldb/lldb-private-types.h
> > source/Commands/CommandObjectPlatform.cpp
> > source/Interpreter/Args.cpp
> > source/Interpreter/CMakeLists.txt
> > source/Interpreter/CommandOptionValidators.cpp
> > source/Interpreter/Options.cpp
> > <D4373.11047.patch>_______________________________________________
> > lldb-commits mailing list
> > lldb-commits at cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
More information about the lldb-commits