mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-02-13 05:40:59 +00:00
Modify command options to use the new arguments mechanism. Now all command option
arguments are specified in a standardized way, will have a standardized name, and have functioning help. The next step is to start writing useful help for all the argument types. llvm-svn: 115335
This commit is contained in:
parent
3f6b753f9d
commit
deaab2220e
@ -128,7 +128,7 @@ public:
|
||||
static void
|
||||
GetArgumentHelp (Stream &str, lldb::CommandArgumentType arg_type, CommandInterpreter &interpreter);
|
||||
|
||||
const char *
|
||||
static const char *
|
||||
GetArgumentName (lldb::CommandArgumentType arg_type);
|
||||
|
||||
void
|
||||
|
@ -519,8 +519,10 @@ typedef enum CommandArgumentType
|
||||
eArgTypeChannel,
|
||||
eArgTypeCount,
|
||||
eArgTypeExpression,
|
||||
eArgTypeExprFormat,
|
||||
eArgTypeFilename,
|
||||
eArgTypeFormat,
|
||||
eArgTypeFrameNum,
|
||||
eArgTypeFullName,
|
||||
eArgTypeFunctionName,
|
||||
eArgTypeIndex,
|
||||
@ -530,6 +532,7 @@ typedef enum CommandArgumentType
|
||||
eArgTypeNumLines,
|
||||
eArgTypeNumberPerLine,
|
||||
eArgTypeOffset,
|
||||
eArgTypeOneLiner,
|
||||
eArgTypeOther,
|
||||
eArgTypePath,
|
||||
eArgTypePathPrefix,
|
||||
@ -541,6 +544,7 @@ typedef enum CommandArgumentType
|
||||
eArgTypeRegisterName,
|
||||
eArgTypeRegularExpression,
|
||||
eArgTypeRunMode,
|
||||
eArgTypeScriptLang,
|
||||
eArgTypeSearchWord,
|
||||
eArgTypeSelector,
|
||||
eArgTypeSettingIndex,
|
||||
|
@ -139,7 +139,7 @@ namespace lldb {
|
||||
int option_has_arg; // no_argument, required_argument or optional_argument
|
||||
OptionEnumValueElement *enum_values;// If non-NULL an array of enum values.
|
||||
uint32_t completionType; // Cookie the option class can use to do define the argument completion.
|
||||
CONST_CHAR_PTR argument_name; // Text name to be use in usage text to refer to the option's value.
|
||||
lldb::CommandArgumentType argument_type; // Type of argument this option takes
|
||||
CONST_CHAR_PTR usage_text; // Full text explaining what this options does and what (if any) argument to
|
||||
// pass it.
|
||||
} OptionDefinition;
|
||||
|
@ -276,7 +276,7 @@ CommandObjectArgs::Execute
|
||||
lldb::OptionDefinition
|
||||
CommandObjectArgs::CommandOptions::g_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_1, false, "debug", 'g', no_argument, NULL, 0, NULL, "Enable verbose debug logging of the expression parsing and evaluation."},
|
||||
{ 0, false, NULL, 0, 0, NULL, NULL, NULL, NULL }
|
||||
{ LLDB_OPT_SET_1, false, "debug", 'g', no_argument, NULL, 0, eArgTypeNone, "Enable verbose debug logging of the expression parsing and evaluation."},
|
||||
{ 0, false, NULL, 0, 0, NULL, NULL, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
|
@ -71,28 +71,28 @@ CommandObjectBreakpointSet::CommandOptions::~CommandOptions ()
|
||||
lldb::OptionDefinition
|
||||
CommandObjectBreakpointSet::CommandOptions::g_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_ALL, false, "shlib", 's', required_argument, NULL, CommandCompletions::eModuleCompletion, "<shlib-name>",
|
||||
{ LLDB_OPT_SET_ALL, false, "shlib", 's', required_argument, NULL, CommandCompletions::eModuleCompletion, eArgTypeShlibName,
|
||||
"Set the breakpoint only in this shared library (can use this option multiple times for multiple shlibs)."},
|
||||
|
||||
{ LLDB_OPT_SET_ALL, false, "ignore-count", 'i', required_argument, NULL, 0, "<n>",
|
||||
"Set the number of times this breakpoint is sKipped before stopping." },
|
||||
{ LLDB_OPT_SET_ALL, false, "ignore-count", 'i', required_argument, NULL, 0, eArgTypeCount,
|
||||
"Set the number of times this breakpoint is skipped before stopping." },
|
||||
|
||||
{ LLDB_OPT_SET_ALL, false, "thread-index", 'x', required_argument, NULL, NULL, "<thread-index>",
|
||||
{ LLDB_OPT_SET_ALL, false, "thread-index", 'x', required_argument, NULL, NULL, eArgTypeThreadIndex,
|
||||
"The breakpoint stops only for the thread whose index matches this argument."},
|
||||
|
||||
{ LLDB_OPT_SET_ALL, false, "thread-id", 't', required_argument, NULL, NULL, "<thread-id>",
|
||||
{ LLDB_OPT_SET_ALL, false, "thread-id", 't', required_argument, NULL, NULL, eArgTypeThreadID,
|
||||
"The breakpoint stops only for the thread whose TID matches this argument."},
|
||||
|
||||
{ LLDB_OPT_SET_ALL, false, "thread-name", 'T', required_argument, NULL, NULL, "<thread-name>",
|
||||
{ LLDB_OPT_SET_ALL, false, "thread-name", 'T', required_argument, NULL, NULL, eArgTypeThreadName,
|
||||
"The breakpoint stops only for the thread whose thread name matches this argument."},
|
||||
|
||||
{ LLDB_OPT_SET_ALL, false, "queue-name", 'q', required_argument, NULL, NULL, "<queue-name>",
|
||||
{ LLDB_OPT_SET_ALL, false, "queue-name", 'q', required_argument, NULL, NULL, eArgTypeQueueName,
|
||||
"The breakpoint stops only for threads in the queue whose name is given by this argument."},
|
||||
|
||||
{ LLDB_OPT_SET_1, false, "file", 'f', required_argument, NULL, CommandCompletions::eSourceFileCompletion, "<filename>",
|
||||
{ LLDB_OPT_SET_1, false, "file", 'f', required_argument, NULL, CommandCompletions::eSourceFileCompletion, eArgTypeFilename,
|
||||
"Set the breakpoint by source location in this particular file."},
|
||||
|
||||
{ LLDB_OPT_SET_1, true, "line", 'l', required_argument, NULL, 0, "<linenum>",
|
||||
{ LLDB_OPT_SET_1, true, "line", 'l', required_argument, NULL, 0, eArgTypeLineNum,
|
||||
"Set the breakpoint by source location at this particular line."},
|
||||
|
||||
// Comment out this option for the moment, as we don't actually use it, but will in the future.
|
||||
@ -100,26 +100,26 @@ CommandObjectBreakpointSet::CommandOptions::g_option_table[] =
|
||||
// { 0, false, "column", 'c', required_argument, NULL, "<column>",
|
||||
// "Set the breakpoint by source location at this particular column."},
|
||||
|
||||
{ LLDB_OPT_SET_2, true, "address", 'a', required_argument, NULL, 0, "<address>",
|
||||
{ LLDB_OPT_SET_2, true, "address", 'a', required_argument, NULL, 0, eArgTypeAddress,
|
||||
"Set the breakpoint by address, at the specified address."},
|
||||
|
||||
{ LLDB_OPT_SET_3, true, "name", 'n', required_argument, NULL, CommandCompletions::eSymbolCompletion, "<name>",
|
||||
{ LLDB_OPT_SET_3, true, "name", 'n', required_argument, NULL, CommandCompletions::eSymbolCompletion, eArgTypeFunctionName,
|
||||
"Set the breakpoint by function name - for C++ this means namespaces and arguments will be ignored." },
|
||||
|
||||
{ LLDB_OPT_SET_4, true, "fullname", 'F', required_argument, NULL, CommandCompletions::eSymbolCompletion, "<fullname>",
|
||||
{ LLDB_OPT_SET_4, true, "fullname", 'F', required_argument, NULL, CommandCompletions::eSymbolCompletion, eArgTypeFullName,
|
||||
"Set the breakpoint by fully qualified function names. For C++ this means namespaces and all arguemnts, and "
|
||||
"for Objective C this means a full function prototype with class and selector." },
|
||||
|
||||
{ LLDB_OPT_SET_5, true, "selector", 'S', required_argument, NULL, 0, "<selector>",
|
||||
{ LLDB_OPT_SET_5, true, "selector", 'S', required_argument, NULL, 0, eArgTypeSelector,
|
||||
"Set the breakpoint by ObjC selector name." },
|
||||
|
||||
{ LLDB_OPT_SET_6, true, "method", 'M', required_argument, NULL, 0, "<method>",
|
||||
{ LLDB_OPT_SET_6, true, "method", 'M', required_argument, NULL, 0, eArgTypeMethod,
|
||||
"Set the breakpoint by C++ method names." },
|
||||
|
||||
{ LLDB_OPT_SET_7, true, "func-regex", 'r', required_argument, NULL, 0, "<regex>",
|
||||
{ LLDB_OPT_SET_7, true, "func-regex", 'r', required_argument, NULL, 0, eArgTypeRegularExpression,
|
||||
"Set the breakpoint by function name, evaluating a regular-expression to find the function name(s)." },
|
||||
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, NULL, NULL }
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
const lldb::OptionDefinition*
|
||||
@ -616,21 +616,21 @@ CommandObjectBreakpointList::CommandOptions::~CommandOptions ()
|
||||
lldb::OptionDefinition
|
||||
CommandObjectBreakpointList::CommandOptions::g_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_ALL, false, "internal", 'i', no_argument, NULL, 0, NULL,
|
||||
{ LLDB_OPT_SET_ALL, false, "internal", 'i', no_argument, NULL, 0, eArgTypeNone,
|
||||
"Show debugger internal breakpoints" },
|
||||
|
||||
{ LLDB_OPT_SET_1, false, "brief", 'b', no_argument, NULL, 0, NULL,
|
||||
{ LLDB_OPT_SET_1, false, "brief", 'b', no_argument, NULL, 0, eArgTypeNone,
|
||||
"Give a brief description of the breakpoint (no location info)."},
|
||||
|
||||
// FIXME: We need to add an "internal" command, and then add this sort of thing to it.
|
||||
// But I need to see it for now, and don't want to wait.
|
||||
{ LLDB_OPT_SET_2, false, "full", 'f', no_argument, NULL, 0, NULL,
|
||||
{ LLDB_OPT_SET_2, false, "full", 'f', no_argument, NULL, 0, eArgTypeNone,
|
||||
"Give a full description of the breakpoint and its locations."},
|
||||
|
||||
{ LLDB_OPT_SET_3, false, "verbose", 'v', no_argument, NULL, 0, NULL,
|
||||
{ LLDB_OPT_SET_3, false, "verbose", 'v', no_argument, NULL, 0, eArgTypeNone,
|
||||
"Explain everything we know about the breakpoint (for debugging debugger bugs)." },
|
||||
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, NULL, NULL }
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
const lldb::OptionDefinition*
|
||||
@ -1157,14 +1157,14 @@ CommandObjectBreakpointModify::CommandOptions::~CommandOptions ()
|
||||
lldb::OptionDefinition
|
||||
CommandObjectBreakpointModify::CommandOptions::g_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_ALL, false, "ignore-count", 'i', required_argument, NULL, NULL, "<n>", "Set the number of times this breakpoint is skipped before stopping." },
|
||||
{ LLDB_OPT_SET_ALL, false, "thread-index", 'x', required_argument, NULL, NULL, "<thread-index>", "The breakpoint stops only for the thread whose indeX matches this argument."},
|
||||
{ LLDB_OPT_SET_ALL, false, "thread-id", 't', required_argument, NULL, NULL, "<thread-id>", "The breakpoint stops only for the thread whose TID matches this argument."},
|
||||
{ LLDB_OPT_SET_ALL, false, "thread-name", 'T', required_argument, NULL, NULL, "<thread-name>", "The breakpoint stops only for the thread whose thread name matches this argument."},
|
||||
{ LLDB_OPT_SET_ALL, false, "queue-name", 'q', required_argument, NULL, NULL, "<queue-name>", "The breakpoint stops only for threads in the queue whose name is given by this argument."},
|
||||
{ LLDB_OPT_SET_1, false, "enable", 'e', no_argument, NULL, NULL, NULL, "Enable the breakpoint."},
|
||||
{ LLDB_OPT_SET_2, false, "disable", 'd', no_argument, NULL, NULL, NULL, "Disable the breakpoint."},
|
||||
{ 0, false, NULL, 0 , 0, NULL, 0, NULL, NULL }
|
||||
{ LLDB_OPT_SET_ALL, false, "ignore-count", 'i', required_argument, NULL, NULL, eArgTypeCount, "Set the number of times this breakpoint is skipped before stopping." },
|
||||
{ LLDB_OPT_SET_ALL, false, "thread-index", 'x', required_argument, NULL, NULL, eArgTypeThreadIndex, "The breakpoint stops only for the thread whose indeX matches this argument."},
|
||||
{ LLDB_OPT_SET_ALL, false, "thread-id", 't', required_argument, NULL, NULL, eArgTypeThreadID, "The breakpoint stops only for the thread whose TID matches this argument."},
|
||||
{ LLDB_OPT_SET_ALL, false, "thread-name", 'T', required_argument, NULL, NULL, eArgTypeThreadName, "The breakpoint stops only for the thread whose thread name matches this argument."},
|
||||
{ LLDB_OPT_SET_ALL, false, "queue-name", 'q', required_argument, NULL, NULL, eArgTypeQueueName, "The breakpoint stops only for threads in the queue whose name is given by this argument."},
|
||||
{ LLDB_OPT_SET_1, false, "enable", 'e', no_argument, NULL, NULL, eArgTypeNone, "Enable the breakpoint."},
|
||||
{ LLDB_OPT_SET_2, false, "disable", 'd', no_argument, NULL, NULL, eArgTypeNone, "Disable the breakpoint."},
|
||||
{ 0, false, NULL, 0 , 0, NULL, 0, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
const lldb::OptionDefinition*
|
||||
|
@ -48,19 +48,19 @@ CommandObjectBreakpointCommandAdd::CommandOptions::~CommandOptions ()
|
||||
lldb::OptionDefinition
|
||||
CommandObjectBreakpointCommandAdd::CommandOptions::g_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_ALL, false, "one-liner", 'o', required_argument, NULL, 0, "<one-liner>",
|
||||
{ LLDB_OPT_SET_ALL, false, "one-liner", 'o', required_argument, NULL, NULL, eArgTypeOneLiner,
|
||||
"Specify a one-line breakpoint command inline. Be sure to surround it with quotes." },
|
||||
|
||||
{ LLDB_OPT_SET_1, true, "script", 's', no_argument, NULL, 0, NULL,
|
||||
{ LLDB_OPT_SET_1, true, "script", 's', no_argument, NULL, NULL, eArgTypeNone,
|
||||
"Write the breakpoint command script in the default scripting language."},
|
||||
|
||||
{ LLDB_OPT_SET_2, true, "python", 'p', no_argument, NULL, 0, NULL,
|
||||
{ LLDB_OPT_SET_2, true, "python", 'p', no_argument, NULL, NULL, eArgTypeNone,
|
||||
"Write the breakpoint command script in the Python scripting language."},
|
||||
|
||||
{ LLDB_OPT_SET_3, true, "commands", 'c', no_argument, NULL, 0, NULL,
|
||||
|
||||
{ LLDB_OPT_SET_3, true, "commands", 'c', no_argument, NULL, NULL, eArgTypeNone,
|
||||
"Write the breakpoint command script using standard debugger commands."},
|
||||
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, NULL, NULL }
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
const lldb::OptionDefinition*
|
||||
|
@ -120,19 +120,19 @@ CommandObjectDisassemble::CommandOptions::GetDefinitions ()
|
||||
lldb::OptionDefinition
|
||||
CommandObjectDisassemble::CommandOptions::g_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_ALL, false, "bytes", 'b', no_argument, NULL, 0, NULL, "Show opcode bytes when disassembling."},
|
||||
{ LLDB_OPT_SET_ALL, false, "context", 'c', required_argument, NULL, 0, "<num-lines>", "Number of context lines of source to show."},
|
||||
{ LLDB_OPT_SET_ALL, false, "mixed", 'm', no_argument, NULL, 0, NULL, "Enable mixed source and assembly display."},
|
||||
{ LLDB_OPT_SET_ALL, false, "raw", 'r', no_argument, NULL, 0, NULL, "Print raw disassembly with no symbol information."},
|
||||
{ LLDB_OPT_SET_ALL, false, "bytes", 'b', no_argument, NULL, 0, eArgTypeNone, "Show opcode bytes when disassembling."},
|
||||
{ LLDB_OPT_SET_ALL, false, "context", 'c', required_argument, NULL, 0, eArgTypeNumLines, "Number of context lines of source to show."},
|
||||
{ LLDB_OPT_SET_ALL, false, "mixed", 'm', no_argument, NULL, 0, eArgTypeNone, "Enable mixed source and assembly display."},
|
||||
{ LLDB_OPT_SET_ALL, false, "raw", 'r', no_argument, NULL, 0, eArgTypeNone, "Print raw disassembly with no symbol information."},
|
||||
|
||||
{ LLDB_OPT_SET_1, true, "start-address", 's', required_argument, NULL, 0, "<start-address>", "Address to start disassembling."},
|
||||
{ LLDB_OPT_SET_1, false, "end-address", 'e', required_argument, NULL, 0, "<end-address>", "Address to start disassembling."},
|
||||
{ LLDB_OPT_SET_1, true, "start-address", 's', required_argument, NULL, 0, eArgTypeAddress, "Address to start disassembling."},
|
||||
{ LLDB_OPT_SET_1, false, "end-address", 'e', required_argument, NULL, 0, eArgTypeAddress, "Address to start disassembling."},
|
||||
|
||||
{ LLDB_OPT_SET_2, true, "name", 'n', required_argument, NULL, CommandCompletions::eSymbolCompletion, "<function-name>", "Disassemble entire contents of the given function name."},
|
||||
{ LLDB_OPT_SET_2, true, "name", 'n', required_argument, NULL, CommandCompletions::eSymbolCompletion, eArgTypeFunctionName, "Disassemble entire contents of the given function name."},
|
||||
|
||||
{ LLDB_OPT_SET_3, false, "current-frame", 'f', no_argument, NULL, 0, "<current-frame>", "Disassemble entire contents of the current frame's function."},
|
||||
//{ LLDB_OPT_SET_3, false, "current-frame", 'f', no_argument, NULL, 0, "<current-frame>", "Disassemble entire contents of the current frame's function."},
|
||||
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, NULL, NULL }
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
|
||||
|
@ -372,10 +372,11 @@ lldb::OptionDefinition
|
||||
CommandObjectExpression::CommandOptions::g_option_table[] =
|
||||
{
|
||||
//{ LLDB_OPT_SET_ALL, false, "language", 'l', required_argument, NULL, 0, "[c|c++|objc|objc++]", "Sets the language to use when parsing the expression."},
|
||||
{ LLDB_OPT_SET_1, false, "format", 'f', required_argument, NULL, 0, "[ [bool|b] | [bin] | [char|c] | [oct|o] | [dec|i|d|u] | [hex|x] | [float|f] | [cstr|s] ]", "Specify the format that the expression output should use."},
|
||||
{ LLDB_OPT_SET_2, false, "object-description", 'o', no_argument, NULL, 0, NULL, "Print the object description of the value resulting from the expression"},
|
||||
{ LLDB_OPT_SET_ALL, false, "debug", 'g', no_argument, NULL, 0, NULL, "Enable verbose debug logging of the expression parsing and evaluation."},
|
||||
{ LLDB_OPT_SET_ALL, false, "use-ir", 'i', no_argument, NULL, 0, NULL, "[Temporary] Instructs the expression evaluator to use IR instead of ASTs."},
|
||||
{ 0, false, NULL, 0, 0, NULL, NULL, NULL, NULL }
|
||||
//{ LLDB_OPT_SET_1, false, "format", 'f', required_argument, NULL, 0, "[ [bool|b] | [bin] | [char|c] | [oct|o] | [dec|i|d|u] | [hex|x] | [float|f] | [cstr|s] ]", "Specify the format that the expression output should use."},
|
||||
{ LLDB_OPT_SET_1, false, "format", 'f', required_argument, NULL, 0, eArgTypeExprFormat, "Specify the format that the expression output should use."},
|
||||
{ LLDB_OPT_SET_2, false, "object-description", 'o', no_argument, NULL, 0, eArgTypeNone, "Print the object description of the value resulting from the expression"},
|
||||
{ LLDB_OPT_SET_ALL, false, "debug", 'g', no_argument, NULL, 0, eArgTypeNone, "Enable verbose debug logging of the expression parsing and evaluation."},
|
||||
{ LLDB_OPT_SET_ALL, false, "use-ir", 'i', no_argument, NULL, 0, eArgTypeNone, "[Temporary] Instructs the expression evaluator to use IR instead of ASTs."},
|
||||
{ 0, false, NULL, 0, 0, NULL, NULL, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
|
@ -38,8 +38,8 @@ CommandObjectFile::CommandOptions::~CommandOptions ()
|
||||
lldb::OptionDefinition
|
||||
CommandObjectFile::CommandOptions::g_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_1, false, "arch", 'a', required_argument, NULL, 0, "<arch>", "Specify the architecture to be used when the process is launched."},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, NULL, NULL }
|
||||
{ LLDB_OPT_SET_1, false, "arch", 'a', required_argument, NULL, 0, eArgTypeArchitecture, "Specify the architecture to be used when the process is launched."},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
const lldb::OptionDefinition *
|
||||
|
@ -768,22 +768,22 @@ protected:
|
||||
lldb::OptionDefinition
|
||||
CommandObjectFrameVariable::CommandOptions::g_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_1, false, "debug", 'D', no_argument, NULL, 0, NULL, "Enable verbose debug information."},
|
||||
{ LLDB_OPT_SET_1, false, "depth", 'd', required_argument, NULL, 0, "<count>", "Set the max recurse depth when dumping aggregate types (default is infinity)."},
|
||||
{ LLDB_OPT_SET_1, false, "show-globals",'g', no_argument, NULL, 0, NULL, "Show the current frame source file global and static variables."},
|
||||
{ LLDB_OPT_SET_1, false, "find-global",'G', required_argument, NULL, 0, "<name>", "Find a global variable by name (which might not be in the current stack frame source file)."},
|
||||
{ LLDB_OPT_SET_1, false, "location", 'L', no_argument, NULL, 0, NULL, "Show variable location information."},
|
||||
{ LLDB_OPT_SET_1, false, "show-declaration", 'c', no_argument, NULL, 0, NULL, "Show variable declaration information (source file and line where the variable was declared)."},
|
||||
{ LLDB_OPT_SET_1, false, "name", 'n', required_argument, NULL, 0, "<name>", "Lookup a variable by name or regex (--regex) for the current execution context."},
|
||||
{ LLDB_OPT_SET_1, false, "no-args", 'a', no_argument, NULL, 0, NULL, "Omit function arguments."},
|
||||
{ LLDB_OPT_SET_1, false, "no-locals", 'l', no_argument, NULL, 0, NULL, "Omit local variables."},
|
||||
{ LLDB_OPT_SET_1, false, "no-types", 't', no_argument, NULL, 0, NULL, "Omit variable type names."},
|
||||
{ LLDB_OPT_SET_1, false, "no-summary", 'y', no_argument, NULL, 0, NULL, "Omit summary information."},
|
||||
{ LLDB_OPT_SET_1, false, "scope", 's', no_argument, NULL, 0, NULL, "Show variable scope (argument, local, global, static)."},
|
||||
{ LLDB_OPT_SET_1, false, "objc", 'o', no_argument, NULL, 0, NULL, "When looking up a variable by name (--name), print as an Objective-C object."},
|
||||
{ LLDB_OPT_SET_1, false, "ptr-depth", 'p', required_argument, NULL, 0, "<count>", "The number of pointers to be traversed when dumping values (default is zero)."},
|
||||
{ LLDB_OPT_SET_1, false, "regex", 'r', no_argument, NULL, 0, NULL, "The <name> argument for name lookups are regular expressions."},
|
||||
{ 0, false, NULL, 0, 0, NULL, NULL, NULL, NULL }
|
||||
{ LLDB_OPT_SET_1, false, "debug", 'D', no_argument, NULL, 0, eArgTypeNone, "Enable verbose debug information."},
|
||||
{ LLDB_OPT_SET_1, false, "depth", 'd', required_argument, NULL, 0, eArgTypeCount, "Set the max recurse depth when dumping aggregate types (default is infinity)."},
|
||||
{ LLDB_OPT_SET_1, false, "show-globals",'g', no_argument, NULL, 0, eArgTypeNone, "Show the current frame source file global and static variables."},
|
||||
{ LLDB_OPT_SET_1, false, "find-global",'G', required_argument, NULL, 0, eArgTypeVarName, "Find a global variable by name (which might not be in the current stack frame source file)."},
|
||||
{ LLDB_OPT_SET_1, false, "location", 'L', no_argument, NULL, 0, eArgTypeNone, "Show variable location information."},
|
||||
{ LLDB_OPT_SET_1, false, "show-declaration", 'c', no_argument, NULL, 0, eArgTypeNone, "Show variable declaration information (source file and line where the variable was declared)."},
|
||||
{ LLDB_OPT_SET_1, false, "name", 'n', required_argument, NULL, 0, eArgTypeVarName, "Lookup a variable by name or regex (--regex) for the current execution context."},
|
||||
{ LLDB_OPT_SET_1, false, "no-args", 'a', no_argument, NULL, 0, eArgTypeNone, "Omit function arguments."},
|
||||
{ LLDB_OPT_SET_1, false, "no-locals", 'l', no_argument, NULL, 0, eArgTypeNone, "Omit local variables."},
|
||||
{ LLDB_OPT_SET_1, false, "no-types", 't', no_argument, NULL, 0, eArgTypeNone, "Omit variable type names."},
|
||||
{ LLDB_OPT_SET_1, false, "no-summary", 'y', no_argument, NULL, 0, eArgTypeNone, "Omit summary information."},
|
||||
{ LLDB_OPT_SET_1, false, "scope", 's', no_argument, NULL, 0, eArgTypeNone, "Show variable scope (argument, local, global, static)."},
|
||||
{ LLDB_OPT_SET_1, false, "objc", 'o', no_argument, NULL, 0, eArgTypeNone, "When looking up a variable by name (--name), print as an Objective-C object."},
|
||||
{ LLDB_OPT_SET_1, false, "ptr-depth", 'p', required_argument, NULL, 0, eArgTypeCount, "The number of pointers to be traversed when dumping values (default is zero)."},
|
||||
{ LLDB_OPT_SET_1, false, "regex", 'r', no_argument, NULL, 0, eArgTypeCount, "The <name> argument for name lookups are regular expressions."},
|
||||
{ 0, false, NULL, 0, 0, NULL, NULL, eArgTypeNone, NULL }
|
||||
};
|
||||
#pragma mark CommandObjectMultiwordFrame
|
||||
|
||||
|
@ -1174,14 +1174,14 @@ protected:
|
||||
lldb::OptionDefinition
|
||||
CommandObjectImageList::CommandOptions::g_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_1, false, "arch", 'a', optional_argument, NULL, 0, "<width>", "Display the architecture when listing images."},
|
||||
{ LLDB_OPT_SET_1, false, "uuid", 'u', no_argument, NULL, 0, NULL, "Display the UUID when listing images."},
|
||||
{ LLDB_OPT_SET_1, false, "fullpath", 'f', optional_argument, NULL, 0, "<width>", "Display the fullpath to the image object file."},
|
||||
{ LLDB_OPT_SET_1, false, "directory", 'd', optional_argument, NULL, 0, "<width>", "Display the directory with optional width for the image object file."},
|
||||
{ LLDB_OPT_SET_1, false, "basename", 'b', optional_argument, NULL, 0, "<width>", "Display the basename with optional width for the image object file."},
|
||||
{ LLDB_OPT_SET_1, false, "symfile", 's', optional_argument, NULL, 0, "<width>", "Display the fullpath to the image symbol file with optional width."},
|
||||
{ LLDB_OPT_SET_1, false, "symfile-basename", 'S', optional_argument, NULL, 0, "<width>", "Display the basename to the image symbol file with optional width."},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, NULL, NULL }
|
||||
{ LLDB_OPT_SET_1, false, "arch", 'a', optional_argument, NULL, 0, eArgTypeWidth, "Display the architecture when listing images."},
|
||||
{ LLDB_OPT_SET_1, false, "uuid", 'u', no_argument, NULL, 0, eArgTypeNone, "Display the UUID when listing images."},
|
||||
{ LLDB_OPT_SET_1, false, "fullpath", 'f', optional_argument, NULL, 0, eArgTypeWidth, "Display the fullpath to the image object file."},
|
||||
{ LLDB_OPT_SET_1, false, "directory", 'd', optional_argument, NULL, 0, eArgTypeWidth, "Display the directory with optional width for the image object file."},
|
||||
{ LLDB_OPT_SET_1, false, "basename", 'b', optional_argument, NULL, 0, eArgTypeWidth, "Display the basename with optional width for the image object file."},
|
||||
{ LLDB_OPT_SET_1, false, "symfile", 's', optional_argument, NULL, 0, eArgTypeWidth, "Display the fullpath to the image symbol file with optional width."},
|
||||
{ LLDB_OPT_SET_1, false, "symfile-basename", 'S', optional_argument, NULL, 0, eArgTypeWidth, "Display the basename to the image symbol file with optional width."},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
|
||||
@ -1531,17 +1531,17 @@ protected:
|
||||
lldb::OptionDefinition
|
||||
CommandObjectImageLookup::CommandOptions::g_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_1, true, "address", 'a', required_argument, NULL, 0, "<addr>", "Lookup an address in one or more executable images."},
|
||||
{ LLDB_OPT_SET_1, false, "offset", 'o', required_argument, NULL, 0, "<offset>", "When looking up an address subtract <offset> from any addresses before doing the lookup."},
|
||||
{ LLDB_OPT_SET_2, true, "symbol", 's', required_argument, NULL, 0, "<name>", "Lookup a symbol by name in the symbol tables in one or more executable images."},
|
||||
{ LLDB_OPT_SET_2, false, "regex", 'r', no_argument, NULL, 0, NULL, "The <name> argument for name lookups are regular expressions."},
|
||||
{ LLDB_OPT_SET_3, true, "file", 'f', required_argument, NULL, 0, "<file>", "Lookup a file by fullpath or basename in one or more executable images."},
|
||||
{ LLDB_OPT_SET_3, false, "line", 'l', required_argument, NULL, 0, "<line>", "Lookup a line number in a file (must be used in conjunction with --file)."},
|
||||
{ LLDB_OPT_SET_3, false, "no-inlines", 'i', no_argument, NULL, 0, NULL, "Check inline line entries (must be used in conjunction with --file)."},
|
||||
{ LLDB_OPT_SET_4, true, "function", 'n', required_argument, NULL, 0, "<name>", "Lookup a function by name in the debug symbols in one or more executable images."},
|
||||
{ LLDB_OPT_SET_5, true, "type", 't', required_argument, NULL, 0, "<name>", "Lookup a type by name in the debug symbols in one or more executable images."},
|
||||
{ LLDB_OPT_SET_ALL, false, "verbose", 'v', no_argument, NULL, 0, NULL, "Enable verbose lookup information."},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, NULL, NULL }
|
||||
{ LLDB_OPT_SET_1, true, "address", 'a', required_argument, NULL, 0, eArgTypeAddress, "Lookup an address in one or more executable images."},
|
||||
{ LLDB_OPT_SET_1, false, "offset", 'o', required_argument, NULL, 0, eArgTypeOffset, "When looking up an address subtract <offset> from any addresses before doing the lookup."},
|
||||
{ LLDB_OPT_SET_2, true, "symbol", 's', required_argument, NULL, 0, eArgTypeSymbol, "Lookup a symbol by name in the symbol tables in one or more executable images."},
|
||||
{ LLDB_OPT_SET_2, false, "regex", 'r', no_argument, NULL, 0, eArgTypeNone, "The <name> argument for name lookups are regular expressions."},
|
||||
{ LLDB_OPT_SET_3, true, "file", 'f', required_argument, NULL, 0, eArgTypeFilename, "Lookup a file by fullpath or basename in one or more executable images."},
|
||||
{ LLDB_OPT_SET_3, false, "line", 'l', required_argument, NULL, 0, eArgTypeLineNum, "Lookup a line number in a file (must be used in conjunction with --file)."},
|
||||
{ LLDB_OPT_SET_3, false, "no-inlines", 'i', no_argument, NULL, 0, eArgTypeNone, "Check inline line entries (must be used in conjunction with --file)."},
|
||||
{ LLDB_OPT_SET_4, true, "function", 'n', required_argument, NULL, 0, eArgTypeFunctionName, "Lookup a function by name in the debug symbols in one or more executable images."},
|
||||
{ LLDB_OPT_SET_5, true, "type", 't', required_argument, NULL, 0, eArgTypeName, "Lookup a type by name in the debug symbols in one or more executable images."},
|
||||
{ LLDB_OPT_SET_ALL, false, "verbose", 'v', no_argument, NULL, 0, eArgTypeNone, "Enable verbose lookup information."},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
|
||||
|
@ -217,15 +217,15 @@ protected:
|
||||
lldb::OptionDefinition
|
||||
CommandObjectLogEnable::CommandOptions::g_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_1, false, "file", 'f', required_argument, NULL, 0, "<filename>", "Set the destination file to log to."},
|
||||
{ LLDB_OPT_SET_1, false, "threadsafe", 't', no_argument, NULL, 0, NULL, "Enable thread safe logging to avoid interweaved log lines." },
|
||||
{ LLDB_OPT_SET_1, false, "verbose", 'v', no_argument, NULL, 0, NULL, "Enable verbose logging." },
|
||||
{ LLDB_OPT_SET_1, false, "debug", 'g', no_argument, NULL, 0, NULL, "Enable debug logging." },
|
||||
{ LLDB_OPT_SET_1, false, "sequence", 's', no_argument, NULL, 0, NULL, "Prepend all log lines with an increasing integer sequence id." },
|
||||
{ LLDB_OPT_SET_1, false, "timestamp", 'T', no_argument, NULL, 0, NULL, "Prepend all log lines with a timestamp." },
|
||||
{ LLDB_OPT_SET_1, false, "pid-tid", 'p', no_argument, NULL, 0, NULL, "Prepend all log lines with the process and thread ID that generates the log line." },
|
||||
{ LLDB_OPT_SET_1, false, "thread-name",'n', no_argument, NULL, 0, NULL, "Prepend all log lines with the thread name for the thread that generates the log line." },
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, NULL, NULL }
|
||||
{ LLDB_OPT_SET_1, false, "file", 'f', required_argument, NULL, 0, eArgTypeFilename, "Set the destination file to log to."},
|
||||
{ LLDB_OPT_SET_1, false, "threadsafe", 't', no_argument, NULL, 0, eArgTypeNone, "Enable thread safe logging to avoid interweaved log lines." },
|
||||
{ LLDB_OPT_SET_1, false, "verbose", 'v', no_argument, NULL, 0, eArgTypeNone, "Enable verbose logging." },
|
||||
{ LLDB_OPT_SET_1, false, "debug", 'g', no_argument, NULL, 0, eArgTypeNone, "Enable debug logging." },
|
||||
{ LLDB_OPT_SET_1, false, "sequence", 's', no_argument, NULL, 0, eArgTypeNone, "Prepend all log lines with an increasing integer sequence id." },
|
||||
{ LLDB_OPT_SET_1, false, "timestamp", 'T', no_argument, NULL, 0, eArgTypeNone, "Prepend all log lines with a timestamp." },
|
||||
{ LLDB_OPT_SET_1, false, "pid-tid", 'p', no_argument, NULL, 0, eArgTypeNone, "Prepend all log lines with the process and thread ID that generates the log line." },
|
||||
{ LLDB_OPT_SET_1, false, "thread-name",'n', no_argument, NULL, 0, eArgTypeNone, "Prepend all log lines with the thread name for the thread that generates the log line." },
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
class CommandObjectLogDisable : public CommandObject
|
||||
|
@ -317,11 +317,11 @@ protected:
|
||||
lldb::OptionDefinition
|
||||
CommandObjectMemoryRead::CommandOptions::g_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_1, false, "format", 'f', required_argument, NULL, 0, "<format>", "The format that will be used to display the memory. Defaults to bytes with ASCII (--format=Y)."},
|
||||
{ LLDB_OPT_SET_1, false, "size", 's', required_argument, NULL, 0, "<byte-size>","The size in bytes to use when displaying with the selected format."},
|
||||
{ LLDB_OPT_SET_1, false, "num-per-line", 'l', required_argument, NULL, 0, "<N>", "The number of items per line to display."},
|
||||
{ LLDB_OPT_SET_1, false, "count", 'c', required_argument, NULL, 0, "<N>", "The number of total items to display."},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, NULL, NULL }
|
||||
{ LLDB_OPT_SET_1, false, "format", 'f', required_argument, NULL, 0, eArgTypeFormat, "The format that will be used to display the memory. Defaults to bytes with ASCII (--format=Y)."},
|
||||
{ LLDB_OPT_SET_1, false, "size", 's', required_argument, NULL, 0, eArgTypeByteSize,"The size in bytes to use when displaying with the selected format."},
|
||||
{ LLDB_OPT_SET_1, false, "num-per-line", 'l', required_argument, NULL, 0, eArgTypeNumberPerLine, "The number of items per line to display."},
|
||||
{ LLDB_OPT_SET_1, false, "count", 'c', required_argument, NULL, 0, eArgTypeCount, "The number of total items to display."},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
|
||||
@ -666,9 +666,9 @@ protected:
|
||||
lldb::OptionDefinition
|
||||
CommandObjectMemoryWrite::CommandOptions::g_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_1, false, "format", 'f', required_argument, NULL, 0, "<format>", "The format value types that will be decoded and written to memory."},
|
||||
{ LLDB_OPT_SET_1, false, "size", 's', required_argument, NULL, 0, "<byte-size>","The size in bytes of the values to write to memory."},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, NULL, NULL }
|
||||
{ LLDB_OPT_SET_1, false, "format", 'f', required_argument, NULL, 0, eArgTypeFormat, "The format value types that will be decoded and written to memory."},
|
||||
{ LLDB_OPT_SET_1, false, "size", 's', required_argument, NULL, 0, eArgTypeByteSize,"The size in bytes of the values to write to memory."},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
|
||||
|
@ -261,12 +261,12 @@ protected:
|
||||
lldb::OptionDefinition
|
||||
CommandObjectProcessLaunch::CommandOptions::g_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_1, false, "stop-at-entry", 's', no_argument, NULL, 0, NULL, "Stop at the entry point of the program when launching a process."},
|
||||
{ LLDB_OPT_SET_1, false, "stdin", 'i', required_argument, NULL, 0, "<path>", "Redirect stdin for the process to <path>."},
|
||||
{ LLDB_OPT_SET_1, false, "stdout", 'o', required_argument, NULL, 0, "<path>", "Redirect stdout for the process to <path>."},
|
||||
{ LLDB_OPT_SET_1, false, "stderr", 'e', required_argument, NULL, 0, "<path>", "Redirect stderr for the process to <path>."},
|
||||
{ LLDB_OPT_SET_1, false, "plugin", 'p', required_argument, NULL, 0, "<plugin>", "Name of the process plugin you want to use."},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, NULL, NULL }
|
||||
{ LLDB_OPT_SET_1, false, "stop-at-entry", 's', no_argument, NULL, 0, eArgTypeNone, "Stop at the entry point of the program when launching a process."},
|
||||
{ LLDB_OPT_SET_1, false, "stdin", 'i', required_argument, NULL, 0, eArgTypePath, "Redirect stdin for the process to <path>."},
|
||||
{ LLDB_OPT_SET_1, false, "stdout", 'o', required_argument, NULL, 0, eArgTypePath, "Redirect stdout for the process to <path>."},
|
||||
{ LLDB_OPT_SET_1, false, "stderr", 'e', required_argument, NULL, 0, eArgTypePath, "Redirect stderr for the process to <path>."},
|
||||
{ LLDB_OPT_SET_1, false, "plugin", 'p', required_argument, NULL, 0, eArgTypePlugin, "Name of the process plugin you want to use."},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
|
||||
@ -643,11 +643,11 @@ protected:
|
||||
lldb::OptionDefinition
|
||||
CommandObjectProcessAttach::CommandOptions::g_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_ALL, false, "plugin", 'P', required_argument, NULL, 0, "<plugin>", "Name of the process plugin you want to use."},
|
||||
{ LLDB_OPT_SET_1, false, "pid", 'p', required_argument, NULL, 0, "<pid>", "The process ID of an existing process to attach to."},
|
||||
{ LLDB_OPT_SET_2, false, "name", 'n', required_argument, NULL, 0, "<process-name>", "The name of the process to attach to."},
|
||||
{ LLDB_OPT_SET_2, false, "waitfor",'w', no_argument, NULL, 0, NULL, "Wait for the the process with <process-name> to launch."},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, NULL, NULL }
|
||||
{ LLDB_OPT_SET_ALL, false, "plugin", 'P', required_argument, NULL, 0, eArgTypePlugin, "Name of the process plugin you want to use."},
|
||||
{ LLDB_OPT_SET_1, false, "pid", 'p', required_argument, NULL, 0, eArgTypePid, "The process ID of an existing process to attach to."},
|
||||
{ LLDB_OPT_SET_2, false, "name", 'n', required_argument, NULL, 0, eArgTypeProcessName, "The name of the process to attach to."},
|
||||
{ LLDB_OPT_SET_2, false, "waitfor",'w', no_argument, NULL, 0, eArgTypeNone, "Wait for the the process with <process-name> to launch."},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
@ -206,8 +206,9 @@ CommandObjectSettingsSet::CommandOptions::~CommandOptions ()
|
||||
lldb::OptionDefinition
|
||||
CommandObjectSettingsSet::CommandOptions::g_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_1, false, "no-override", 'n', no_argument, NULL, NULL, NULL, "Prevents already existing instances and pending settings from being assigned this new value. Using this option means that only the default or specified instance setting values will be updated." },
|
||||
{ LLDB_OPT_SET_2, false, "reset", 'r', no_argument, NULL, NULL, NULL, "Causes value to be reset to the original default for this variable. No value needs to be specified when this option is used." },
|
||||
{ LLDB_OPT_SET_1, false, "no-override", 'n', no_argument, NULL, NULL, eArgTypeNone, "Prevents already existing instances and pending settings from being assigned this new value. Using this option means that only the default or specified instance setting values will be updated." },
|
||||
{ LLDB_OPT_SET_2, false, "reset", 'r', no_argument, NULL, NULL, eArgTypeNone, "Causes value to be reset to the original default for this variable. No value needs to be specified when this option is used." },
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
const lldb::OptionDefinition*
|
||||
|
@ -134,9 +134,9 @@ protected:
|
||||
lldb::OptionDefinition
|
||||
CommandObjectSourceInfo::CommandOptions::g_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_1, false, "line", 'l', required_argument, NULL, 0, "<line>", "The line number at which to start the display source."},
|
||||
{ LLDB_OPT_SET_1, false, "file", 'f', required_argument, NULL, CommandCompletions::eSourceFileCompletion, "<file>", "The file from which to display source."},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, NULL, NULL }
|
||||
{ LLDB_OPT_SET_1, false, "line", 'l', required_argument, NULL, 0, eArgTypeLineNum, "The line number at which to start the display source."},
|
||||
{ LLDB_OPT_SET_1, false, "file", 'f', required_argument, NULL, CommandCompletions::eSourceFileCompletion, eArgTypeFilename, "The file from which to display source."},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
#pragma mark CommandObjectSourceList
|
||||
@ -558,12 +558,12 @@ protected:
|
||||
lldb::OptionDefinition
|
||||
CommandObjectSourceList::CommandOptions::g_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_ALL, false, "count", 'c', required_argument, NULL, 0, "<count>", "The number of source lines to display."},
|
||||
{ LLDB_OPT_SET_ALL, false, "shlib", 's', required_argument, NULL, CommandCompletions::eModuleCompletion, "<shlib-name>", "Look up the source file in the given shared library."},
|
||||
{ LLDB_OPT_SET_1, false, "file", 'f', required_argument, NULL, CommandCompletions::eSourceFileCompletion, "<file>", "The file from which to display source."},
|
||||
{ LLDB_OPT_SET_1, false, "line", 'l', required_argument, NULL, 0, "<line>", "The line number at which to start the display source."},
|
||||
{ LLDB_OPT_SET_2, false, "name", 'n', required_argument, NULL, CommandCompletions::eSymbolCompletion, "<symbol>", "The name of a function whose source to display."},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, NULL, NULL }
|
||||
{ LLDB_OPT_SET_ALL, false, "count", 'c', required_argument, NULL, 0, eArgTypeCount, "The number of source lines to display."},
|
||||
{ LLDB_OPT_SET_ALL, false, "shlib", 's', required_argument, NULL, CommandCompletions::eModuleCompletion, eArgTypeShlibName, "Look up the source file in the given shared library."},
|
||||
{ LLDB_OPT_SET_1, false, "file", 'f', required_argument, NULL, CommandCompletions::eSourceFileCompletion, eArgTypeFilename, "The file from which to display source."},
|
||||
{ LLDB_OPT_SET_1, false, "line", 'l', required_argument, NULL, 0, eArgTypeLineNum, "The line number at which to start the display source."},
|
||||
{ LLDB_OPT_SET_2, false, "name", 'n', required_argument, NULL, CommandCompletions::eSymbolCompletion, eArgTypeSymbol, "The name of a function whose source to display."},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
#pragma mark CommandObjectMultiwordSource
|
||||
|
@ -467,9 +467,9 @@ protected:
|
||||
lldb::OptionDefinition
|
||||
CommandObjectThreadBacktrace::CommandOptions::g_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_1, false, "count", 'c', required_argument, NULL, 0, "<count>", "How many frames to display (-1 for all)"},
|
||||
{ LLDB_OPT_SET_1, false, "start", 's', required_argument, NULL, 0, "<start>", "Frame in which to start the backtrace"},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, NULL, NULL }
|
||||
{ LLDB_OPT_SET_1, false, "count", 'c', required_argument, NULL, 0, eArgTypeCount, "How many frames to display (-1 for all)"},
|
||||
{ LLDB_OPT_SET_1, false, "start", 's', required_argument, NULL, 0, eArgTypeFrameNum, "Frame in which to start the backtrace"},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
enum StepScope
|
||||
@ -772,10 +772,10 @@ g_duo_running_mode[] =
|
||||
lldb::OptionDefinition
|
||||
CommandObjectThreadStepWithTypeAndScope::CommandOptions::g_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_1, false, "avoid-no-debug", 'a', required_argument, NULL, 0, "<bool>", "A boolean value that sets whether step-in will step over functions with no debug information."},
|
||||
{ LLDB_OPT_SET_1, false, "run-mode", 'm', required_argument, g_tri_running_mode, 0, "<run-mode>", "Determine how to run other threads while stepping the current thread."},
|
||||
{ LLDB_OPT_SET_1, false, "step-over-regexp",'r', required_argument, NULL, 0, "<regexp>", "A regular expression that defines function names to step over."},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, NULL, NULL }
|
||||
{ LLDB_OPT_SET_1, false, "avoid-no-debug", 'a', required_argument, NULL, 0, eArgTypeBoolean, "A boolean value that sets whether step-in will step over functions with no debug information."},
|
||||
{ LLDB_OPT_SET_1, false, "run-mode", 'm', required_argument, g_tri_running_mode, 0, eArgTypeRunMode, "Determine how to run other threads while stepping the current thread."},
|
||||
{ LLDB_OPT_SET_1, false, "step-over-regexp",'r', required_argument, NULL, 0, eArgTypeRegularExpression, "A regular expression that defines function names to step over."},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
|
||||
@ -1215,10 +1215,10 @@ protected:
|
||||
lldb::OptionDefinition
|
||||
CommandObjectThreadUntil::CommandOptions::g_option_table[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_1, false, "frame", 'f', required_argument, NULL, 0, "<frame>", "Frame index for until operation - defaults to 0"},
|
||||
{ LLDB_OPT_SET_1, false, "thread", 't', required_argument, NULL, 0, "<thread>", "Thread index for the thread for until operation"},
|
||||
{ LLDB_OPT_SET_1, false, "run-mode",'m', required_argument, g_duo_running_mode, 0, "<run_mode>","Determine how to run other threads while stepping this one"},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, NULL, NULL }
|
||||
{ LLDB_OPT_SET_1, false, "frame", 'f', required_argument, NULL, 0, eArgTypeFrameNum, "Frame index for until operation - defaults to 0"},
|
||||
{ LLDB_OPT_SET_1, false, "thread", 't', required_argument, NULL, 0, eArgTypeThreadIndex, "Thread index for the thread for until operation"},
|
||||
{ LLDB_OPT_SET_1, false, "run-mode",'m', required_argument, g_duo_running_mode, 0, eArgTypeRunMode,"Determine how to run other threads while stepping this one"},
|
||||
{ 0, false, NULL, 0, 0, NULL, 0, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
|
||||
|
@ -501,7 +501,14 @@ CommandObject::GetArgumentHelp (Stream &str, CommandArgumentType arg_type, Comma
|
||||
const char *
|
||||
CommandObject::GetArgumentName (CommandArgumentType arg_type)
|
||||
{
|
||||
return CommandObject::GetArgumentTable()[arg_type].arg_name;
|
||||
ArgumentTableEntry *entry = (ArgumentTableEntry *) &(CommandObject::GetArgumentTable()[arg_type]);
|
||||
|
||||
// The table is *supposed* to be kept in arg_type order, but someone *could* have messed it up...
|
||||
|
||||
if (entry->arg_type != arg_type)
|
||||
entry = CommandObject::FindArgumentDataByType (arg_type);
|
||||
|
||||
return entry->arg_name;
|
||||
}
|
||||
|
||||
void
|
||||
@ -574,15 +581,17 @@ CommandObject::g_arguments_data[] =
|
||||
{
|
||||
{ eArgTypeAddress, "address", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypeArchitecture, "architecture", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypeBoolean, "boolean", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypeBoolean, "boolean", CommandCompletions::eNoCompletion, NULL, "A Boolean value: 'true' or 'false'" },
|
||||
{ eArgTypeBreakpointID, "breakpoint-id", CommandCompletions::eNoCompletion, BreakpointIDHelpTextCallback, NULL },
|
||||
{ eArgTypeBreakpointIDRange, "breakpoint-id-range", CommandCompletions::eNoCompletion, BreakpointIDRangeHelpTextCallback, NULL },
|
||||
{ eArgTypeByteSize, "byte-size", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypeChannel, "channel", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypeCount, "count", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypeCount, "count", CommandCompletions::eNoCompletion, NULL, "An unsigned integer." },
|
||||
{ eArgTypeExpression, "expression", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypeFilename, "filename", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypeExprFormat, "expression-format", CommandCompletions::eNoCompletion, NULL, "[ [bool|b] | [bin] | [char|c] | [oct|o] | [dec|i|d|u] | [hex|x] | [float|f] | [cstr|s] ]" },
|
||||
{ eArgTypeFilename, "filename", CommandCompletions::eNoCompletion, NULL, "The name of a file (can include path)." },
|
||||
{ eArgTypeFormat, "format", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypeFrameNum, "frame-num", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypeFullName, "full-name", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypeFunctionName, "function-name", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypeIndex, "index", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
@ -592,6 +601,7 @@ CommandObject::g_arguments_data[] =
|
||||
{ eArgTypeNumLines, "num-lines", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypeNumberPerLine, "number-per-line", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypeOffset, "offset", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypeOneLiner, "one-line-breakpoint-command", CommandCompletions::eNoCompletion, NULL, "A breakpoint command that is entered as a single line of text." },
|
||||
{ eArgTypeOther, "other", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypePath, "path", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypePathPrefix, "path-prefix", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
@ -603,6 +613,7 @@ CommandObject::g_arguments_data[] =
|
||||
{ eArgTypeRegisterName, "register-name", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypeRegularExpression, "regular-expression", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypeRunMode, "run-mode", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypeScriptLang, "script-language", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypeSearchWord, "search-word", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypeSelector, "selector", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
{ eArgTypeSettingIndex, "setting-index", CommandCompletions::eNoCompletion, NULL, "Help text goes here." },
|
||||
|
@ -484,20 +484,21 @@ Options::GenerateOptionUsage
|
||||
if (full_options_table[i].usage_mask & opt_set_mask)
|
||||
{
|
||||
// Add current option to the end of out_stream.
|
||||
|
||||
CommandArgumentType arg_type = full_options_table[i].argument_type;
|
||||
|
||||
if (full_options_table[i].required)
|
||||
{
|
||||
if (full_options_table[i].option_has_arg == required_argument)
|
||||
{
|
||||
strm.Printf (" -%c %s",
|
||||
full_options_table[i].short_option,
|
||||
full_options_table[i].argument_name);
|
||||
strm.Printf (" -%c <%s>",
|
||||
full_options_table[i].short_option,
|
||||
CommandObject::GetArgumentName (arg_type));
|
||||
}
|
||||
else if (full_options_table[i].option_has_arg == optional_argument)
|
||||
{
|
||||
strm.Printf (" -%c [%s]",
|
||||
strm.Printf (" -%c [<%s>]",
|
||||
full_options_table[i].short_option,
|
||||
full_options_table[i].argument_name);
|
||||
CommandObject::GetArgumentName (arg_type));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -511,14 +512,16 @@ Options::GenerateOptionUsage
|
||||
{
|
||||
// Add current option to the end of out_stream.
|
||||
|
||||
CommandArgumentType arg_type = full_options_table[i].argument_type;
|
||||
|
||||
if (! full_options_table[i].required)
|
||||
{
|
||||
if (full_options_table[i].option_has_arg == required_argument)
|
||||
strm.Printf (" [-%c %s]", full_options_table[i].short_option,
|
||||
full_options_table[i].argument_name);
|
||||
strm.Printf (" [-%c <%s>]", full_options_table[i].short_option,
|
||||
CommandObject::GetArgumentName (arg_type));
|
||||
else if (full_options_table[i].option_has_arg == optional_argument)
|
||||
strm.Printf (" [-%c [%s]]", full_options_table[i].short_option,
|
||||
full_options_table[i].argument_name);
|
||||
strm.Printf (" [-%c [<%s>]]", full_options_table[i].short_option,
|
||||
CommandObject::GetArgumentName (arg_type));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -578,13 +581,18 @@ Options::GenerateOptionUsage
|
||||
else
|
||||
strm.EOL();
|
||||
|
||||
CommandArgumentType arg_type = full_options_table[i].argument_type;
|
||||
|
||||
StreamString arg_name_str;
|
||||
arg_name_str.Printf ("<%s>", CommandObject::GetArgumentName (arg_type));
|
||||
|
||||
strm.Indent ();
|
||||
strm.Printf ("-%c", full_options_table[i].short_option);
|
||||
if (full_options_table[i].argument_name != NULL)
|
||||
strm.Printf (" %s", full_options_table[i].argument_name);
|
||||
if (arg_type != eArgTypeNone)
|
||||
strm.Printf (" <%s>", CommandObject::GetArgumentName (arg_type));
|
||||
strm.Printf (" ( --%s", full_options_table[i].long_option);
|
||||
if (full_options_table[i].argument_name != NULL)
|
||||
strm.Printf (" %s", full_options_table[i].argument_name);
|
||||
if (arg_type != eArgTypeNone)
|
||||
strm.Printf (" <%s>", CommandObject::GetArgumentName (arg_type));
|
||||
strm.PutCString(" )\n");
|
||||
|
||||
strm.IndentMore (5);
|
||||
|
@ -51,34 +51,34 @@ reset_stdin_termios ()
|
||||
|
||||
static lldb::OptionDefinition g_options[] =
|
||||
{
|
||||
{ LLDB_OPT_SET_1, true, "help", 'h', no_argument, NULL, NULL, NULL,
|
||||
{ LLDB_OPT_SET_1, true, "help", 'h', no_argument, NULL, NULL, eArgTypeNone,
|
||||
"Prints out the usage information for the LLDB debugger." },
|
||||
|
||||
{ LLDB_OPT_SET_2, true, "version", 'v', no_argument, NULL, NULL, NULL,
|
||||
{ LLDB_OPT_SET_2, true, "version", 'v', no_argument, NULL, NULL, eArgTypeNone,
|
||||
"Prints out the current version number of the LLDB debugger." },
|
||||
|
||||
{ LLDB_OPT_SET_3, true, "arch", 'a', required_argument, NULL, NULL, "<architecture>",
|
||||
{ LLDB_OPT_SET_3, true, "arch", 'a', required_argument, NULL, NULL, eArgTypeArchitecture,
|
||||
"Tells the debugger to use the specified architecture when starting and running the program. <architecture> must be one of the architectures for which the program was compiled." },
|
||||
|
||||
{ LLDB_OPT_SET_3 | LLDB_OPT_SET_4, false, "script-language",'l', required_argument, NULL, NULL, "<scripting-language>",
|
||||
{ LLDB_OPT_SET_3 | LLDB_OPT_SET_4, false, "script-language",'l', required_argument, NULL, NULL, eArgTypeScriptLang,
|
||||
"Tells the debugger to use the specified scripting language for user-defined scripts, rather than the default. Valid scripting languages that can be specified include Python, Perl, Ruby and Tcl. Currently only the Python extensions have been implemented." },
|
||||
|
||||
{ LLDB_OPT_SET_3 | LLDB_OPT_SET_4, false, "debug", 'd', no_argument, NULL, NULL, NULL,
|
||||
{ LLDB_OPT_SET_3 | LLDB_OPT_SET_4, false, "debug", 'd', no_argument, NULL, NULL, eArgTypeNone,
|
||||
"Tells the debugger to print out extra information for debugging itself." },
|
||||
|
||||
{ LLDB_OPT_SET_3 | LLDB_OPT_SET_4, false, "source", 's', required_argument, NULL, NULL, "<file>",
|
||||
{ LLDB_OPT_SET_3 | LLDB_OPT_SET_4, false, "source", 's', required_argument, NULL, NULL, eArgTypeFilename,
|
||||
"Tells the debugger to read in and execute the file <file>, which should contain lldb commands." },
|
||||
|
||||
{ LLDB_OPT_SET_3, true, "file", 'f', required_argument, NULL, NULL, "<filename>",
|
||||
{ LLDB_OPT_SET_3, true, "file", 'f', required_argument, NULL, NULL, eArgTypeFilename,
|
||||
"Tells the debugger to use the file <filename> as the program to be debugged." },
|
||||
|
||||
{ LLDB_OPT_SET_ALL, false, "editor", 'e', no_argument, NULL, NULL, NULL,
|
||||
{ LLDB_OPT_SET_ALL, false, "editor", 'e', no_argument, NULL, NULL, eArgTypeNone,
|
||||
"Tells the debugger to open source files using the host's \"external editor\" mechanism." },
|
||||
|
||||
// { LLDB_OPT_SET_4, true, "crash-log", 'c', required_argument, NULL, NULL, "<file>",
|
||||
// { LLDB_OPT_SET_4, true, "crash-log", 'c', required_argument, NULL, NULL, eArgTypeFilename,
|
||||
// "Load executable images from a crash log for symbolication." },
|
||||
|
||||
{ 0, false, NULL, 0, 0, NULL, NULL, NULL, NULL }
|
||||
{ 0, false, NULL, 0, 0, NULL, NULL, eArgTypeNone, NULL }
|
||||
};
|
||||
|
||||
|
||||
@ -173,6 +173,35 @@ OutputFormattedUsageText (FILE *out, int indent, const char *text, int output_ma
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
GetArgumentName (const CommandArgumentType arg_type, std::string &arg_name)
|
||||
{
|
||||
//Fudge this function here, since we can't call the "real" version in lldb_private::CommandObject...
|
||||
|
||||
switch (arg_type)
|
||||
{
|
||||
// Make cases for all the arg_types used in Driver.cpp
|
||||
|
||||
case eArgTypeNone:
|
||||
arg_name = "";
|
||||
break;
|
||||
|
||||
case eArgTypeArchitecture:
|
||||
arg_name = "architecture";
|
||||
break;
|
||||
|
||||
case eArgTypeScriptLang:
|
||||
arg_name = "script-language";
|
||||
break;
|
||||
|
||||
case eArgTypeFilename:
|
||||
arg_name = "filename";
|
||||
break;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
ShowUsage (FILE *out, lldb::OptionDefinition *option_table, Driver::OptionData data)
|
||||
{
|
||||
@ -227,21 +256,24 @@ ShowUsage (FILE *out, lldb::OptionDefinition *option_table, Driver::OptionData d
|
||||
{
|
||||
if (option_table[i].usage_mask & opt_set_mask)
|
||||
{
|
||||
CommandArgumentType arg_type = option_table[i].argument_type;
|
||||
std::string arg_name;
|
||||
GetArgumentName (arg_type, arg_name);
|
||||
if (option_table[i].required)
|
||||
{
|
||||
if (option_table[i].option_has_arg == required_argument)
|
||||
fprintf (out, " -%c %s", option_table[i].short_option, option_table[i].argument_name);
|
||||
fprintf (out, " -%c <%s>", option_table[i].short_option, arg_name.c_str());
|
||||
else if (option_table[i].option_has_arg == optional_argument)
|
||||
fprintf (out, " -%c [%s]", option_table[i].short_option, option_table[i].argument_name);
|
||||
fprintf (out, " -%c [<%s>]", option_table[i].short_option, arg_name.c_str());
|
||||
else
|
||||
fprintf (out, " -%c", option_table[i].short_option);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (option_table[i].option_has_arg == required_argument)
|
||||
fprintf (out, " [-%c %s]", option_table[i].short_option, option_table[i].argument_name);
|
||||
fprintf (out, " [-%c <%s>]", option_table[i].short_option, arg_name.c_str());
|
||||
else if (option_table[i].option_has_arg == optional_argument)
|
||||
fprintf (out, " [-%c [%s]]", option_table[i].short_option, option_table[i].argument_name);
|
||||
fprintf (out, " [-%c [<%s>]]", option_table[i].short_option, arg_name.c_str());
|
||||
else
|
||||
fprintf (out, " [-%c]", option_table[i].short_option);
|
||||
}
|
||||
@ -270,14 +302,18 @@ ShowUsage (FILE *out, lldb::OptionDefinition *option_table, Driver::OptionData d
|
||||
pos = options_seen.find (option_table[i].short_option);
|
||||
if (pos == options_seen.end())
|
||||
{
|
||||
CommandArgumentType arg_type = option_table[i].argument_type;
|
||||
std::string arg_name;
|
||||
GetArgumentName (arg_type, arg_name);
|
||||
|
||||
options_seen.insert (option_table[i].short_option);
|
||||
fprintf (out, "%*s-%c ", indent_level, "", option_table[i].short_option);
|
||||
if (option_table[i].argument_name != NULL)
|
||||
fprintf (out, "%s", option_table[i].argument_name);
|
||||
if (arg_type != eArgTypeNone)
|
||||
fprintf (out, "<%s>", arg_name.c_str());
|
||||
fprintf (out, "\n");
|
||||
fprintf (out, "%*s--%s ", indent_level, "", option_table[i].long_option);
|
||||
if (option_table[i].argument_name != NULL)
|
||||
fprintf (out, "%s", option_table[i].argument_name);
|
||||
if (arg_type != eArgTypeNone)
|
||||
fprintf (out, "<%s>", arg_name.c_str());
|
||||
fprintf (out, "\n");
|
||||
indent_level += 5;
|
||||
OutputFormattedUsageText (out, indent_level, option_table[i].usage_text, screen_width);
|
||||
|
Loading…
x
Reference in New Issue
Block a user