brintos

brintos / llvm-project-archived public Read only

0
0
Text · 95.9 KiB · ed06131 Raw
2435 lines · plain
1include "OptionsBase.td"2 3let Command = "target modules dump symtab" in {4  def tm_sort : Option<"sort", "s">,5                Group<1>,6                Desc<"${S}upply a sort order when dumping the symbol table.">,7                EnumArg<"SortOrder">;8  def tm_smn : Option<"show-mangled-names", "m">,9               Group<1>,10               Desc<"Do not de${m}angle symbol names before showing them.">;11}12 13let Command = "target modules dump separate debug info" in {14  def tm_json : Option<"json", "j">,15                Group<1>,16                Desc<"Output the details in ${J}SON format.">;17  def tm_errors_only18      : Option<"errors-only", "e">,19        Group<1>,20        Desc<"Filter to show only debug info files with ${e}rrors.">;21  def tm_force_load_all_debug_info22      : Option<"force-load-all-debug-info", "f">,23        Group<1>,24        Desc<"${F}orce load all debug info files.">;25}26 27let Command = "help" in {28  def help_hide_aliases : Option<"hide-aliases", "a">,29                          Desc<"Hide ${a}liases in the command list.">;30  def help_hide_user : Option<"hide-user-commands", "u">,31                       Desc<"Hide ${u}ser-defined commands from the list.">;32  def help_show_hidden : Option<"show-hidden-commands", "h">,33                         Desc<"Include commands prefixed with an underscore.">;34}35 36let Command = "settings set" in {37  def setset_global38      : Option<"global", "g">,39        Desc<"Apply the new value to the ${g}lobal default value.">;40  def setset_force41      : Option<"force", "f">,42        Desc<"${F}orce an empty value to be accepted as the default.">;43  def setset_exists44      : Option<"exists", "e">,45        Desc<"Set the setting if it ${e}xists, but do not cause the command to "46             "raise an error if it does not exist.">;47}48 49let Command = "settings write" in {50  def setwrite_file : Option<"file", "f">,51                      Required,52                      Arg<"Filename">,53                      Completion<"DiskFile">,54                      Desc<"The ${f}ile into which to write the settings.">;55  def setwrite_append : Option<"append", "a">,56                        Desc<"${A}ppend to saved settings file if it exists.">;57}58 59let Command = "settings read" in {60  def setread_file : Option<"file", "f">,61                     Required,62                     Arg<"Filename">,63                     Completion<"DiskFile">,64                     Desc<"The ${f}ile from which to read the settings.">;65}66 67let Command = "settings clear" in {68  def setclear_all : Option<"all", "a">, Desc<"Clear ${a}ll settings.">;69}70 71let Command = "settings show" in {72  def setshow_defaults : Option<"defaults", "d">,73                         Desc<"Include ${d}efault values if defined.">;74}75 76let Command = "breakpoint list" in {77  // FIXME: We need to add an "internal" command, and then add this sort of78  // thing to it. But I need to see it for now, and don't want to wait.79  def blist_internal : Option<"internal", "i">,80                       Desc<"Show debugger ${i}nternal breakpoints.">;81  def blist_brief : Option<"brief", "b">,82                    Group<1>,83                    Desc<"Give a ${b}rief description of the breakpoint (no "84                         "location info).">;85  def blist_full86      : Option<"full", "f">,87        Group<2>,88        Desc<"Give a ${f}ull description of the breakpoint and its locations.">;89  def blist_verbose : Option<"verbose", "v">,90                      Group<3>,91                      Desc<"Explain everything we know about the breakpoint "92                           "(for debugging debugger bugs).">;93  def blist_dummy_bp94      : Option<"dummy-breakpoints", "D">,95        Desc<"List ${D}ummy breakpoints - i.e. breakpoints set before a file "96             "is provided, which prime new targets.">;97}98 99let Command = "breakpoint modify" in {100  def breakpoint_modify_ignore_count101      : Option<"ignore-count", "i">,102        Group<1>,103        Arg<"Count">,104        Desc<"Set the number of times this breakpoint is skipped before "105             "stopping.">;106  def breakpoint_modify_one_shot107      : Option<"one-shot", "o">,108        Group<1>,109        Arg<"Boolean">,110        Desc<"The breakpoint is deleted the first time it causes a stop.">;111  def breakpoint_modify_thread_index112      : Option<"thread-index", "x">,113        Group<1>,114        Arg<"ThreadIndex">,115        Desc<"The breakpoint stops only for the thread whose inde${x} matches "116             "this argument.">;117  def breakpoint_modify_thread_id118      : Option<"thread-id", "t">,119        Group<1>,120        Arg<"ThreadID">,121        Desc<"The breakpoint stops only for the ${t}hread whose TID matches "122             "this argument.  The token 'current' resolves to the current "123             "thread's ID.">;124  def breakpoint_modify_thread_name125      : Option<"thread-name", "T">,126        Group<1>,127        Arg<"ThreadName">,128        Desc<"The breakpoint stops only for the ${t}hread whose thread name "129             "matches this argument.">;130  def breakpoint_modify_queue_name131      : Option<"queue-name", "q">,132        Group<1>,133        Arg<"QueueName">,134        Desc<"The breakpoint stops only for threads in the ${q}ueue whose name "135             "is given by this argument.">;136  def breakpoint_modify_condition137      : Option<"condition", "c">,138        Group<1>,139        Arg<"Expression">,140        Desc<"The breakpoint stops only if this ${c}ondition expression "141             "evaluates to true.">;142  def breakpoint_modify_condition_language143      : Option<"condition-language", "Y">,144        Group<1>,145        Arg<"Language">,146        Desc<"Specifies the Language to use when executing the breakpoint's "147             "condition expression.">;148  def breakpoint_modify_auto_continue149      : Option<"auto-continue", "G">,150        Group<1>,151        Arg<"Boolean">,152        Desc<"The breakpoint will auto-continue after running its commands.">;153  def breakpoint_modify_enable : Option<"enable", "e">,154                                 Group<2>,155                                 Desc<"${E}nable the breakpoint.">;156  def breakpoint_modify_disable : Option<"disable", "d">,157                                  Group<3>,158                                  Desc<"${D}isable the breakpoint.">;159  def breakpoint_modify_command160      : Option<"command", "C">,161        Group<4>,162        Arg<"Command">,163        Desc<164            "A ${c}ommand to run when the breakpoint is hit, can be provided "165            "more than once, the commands will be run in left-to-right order.">;166}167 168let Command = "breakpoint dummy" in {169  def breakpoint_dummy_options_dummy_breakpoints170      : Option<"dummy-breakpoints", "D">,171        Group<1>,172        Desc<"Act on ${D}ummy breakpoints - i.e. breakpoints set before a file "173             "is provided, which prime new targets.">;174}175 176let Command = "breakpoint set" in {177  def breakpoint_set_shlib178      : Option<"shlib", "s">,179        Arg<"ShlibName">,180        Completion<"Module">,181        Groups<[1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12]>, // *not* in group 10182        Desc<183            "${S}et the breakpoint only in this shared library.  Can repeat "184            "this option multiple times to specify multiple shared libraries.">;185  def breakpoint_set_hardware186      : Option<"hardware", "H">,187        Desc<"Require the breakpoint to use ${h}ardware breakpoints.">;188  def breakpoint_set_file189      : Option<"file", "f">,190        Arg<"Filename">,191        Completion<"SourceFile">,192        Groups<[1, 3, 4, 5, 6, 7, 8, 9, 11]>,193        Desc<"Specifies the source ${f}ile in which to set this breakpoint.  "194             "Note, by default lldb only looks for files that are #included if "195             "they use the standard include file extensions.  To set "196             "breakpoints on .c/.cpp/.m/.mm files that are #included, set "197             "target.inline-breakpoint-strategy to \"always\".">;198  def breakpoint_set_line199      : Option<"line", "l">,200        Group<1>,201        Arg<"LineNum">,202        Required,203        Desc<"Specifies the ${l}ine number on which to set this breakpoint.">;204  def breakpoint_set_column205      : Option<"column", "u">,206        Group<1>,207        Arg<"ColumnNum">,208        Desc<"Specifies the col${u}mn number on which to set this breakpoint.">;209  def breakpoint_set_address210      : Option<"address", "a">,211        Group<2>,212        Arg<"AddressOrExpression">,213        Required,214        Desc<"Set the breakpoint at the specified ${a}ddress.  If the address "215             "maps uniquely to a particular binary, then the address will be "216             "converted to a \"file\"address, so that the breakpoint will "217             "track that binary+offset no matter where the binary eventually "218             "loads.  Alternately, if you also specify the module - with the "219             "-s option - then the address will be treated as a file address "220             "in that module, and resolved accordingly.  Again, this will "221             "allow lldb to track that offset on subsequent reloads.  The "222             "module need not have been loaded at the time you specify this "223             "breakpoint, and will get resolved when the module is loaded.">;224  def breakpoint_set_name225      : Option<"name", "n">,226        Group<3>,227        Arg<"FunctionName">,228        Completion<"Symbol">,229        Required,230        Desc<"Set the breakpoint by function ${n}ame.  Can be repeated "231             "multiple times to make one breakpoint for multiple names.">;232  def breakpoint_set_source_regexp_function233      : Option<"source-regexp-function", "X">,234        Group<9>,235        Arg<"FunctionName">,236        Completion<"Symbol">,237        Desc<"When used with '-p' limits the source regex to source contained "238             "in the named functions.  Can be repeated multiple times.">;239  def breakpoint_set_fullname240      : Option<"fullname", "F">,241        Group<4>,242        Arg<"FullName">,243        Required,244        Completion<"Symbol">,245        Desc<"Set the breakpoint by ${f}ully qualified function names. For C++ "246             "this means namespaces and all arguments, and for Objective-C "247             "this means a full function prototype with class and selector.  "248             "Can be repeated multiple times to make one breakpoint for "249             "multiple names.">;250  def breakpoint_set_selector251      : Option<"selector", "S">,252        Group<5>,253        Arg<"Selector">,254        Required,255        Desc<"Set the breakpoint by Objective-C ${s}elector name.  Can be "256             "repeated multiple times to make one breakpoint for multiple "257             "Selectors.">;258  def breakpoint_set_method259      : Option<"method", "M">,260        Group<6>,261        Arg<"Method">,262        Required,263        Desc<"Set the breakpoint by C++ ${m}ethod names.  Can be repeated "264             "multiple times to make one breakpoint for multiple methods.">;265  def breakpoint_set_func_regex266      : Option<"func-regex", "r">,267        Group<7>,268        Arg<"RegularExpression">,269        Required,270        Desc<"Set the breakpoint by function name, evaluating a "271             "${r}egular-expression to find the function name(s).">;272  def breakpoint_set_basename273      : Option<"basename", "b">,274        Group<8>,275        Arg<"FunctionName">,276        Required,277        Completion<"Symbol">,278        Desc<"Set the breakpoint by function ${b}asename (C++ namespaces and "279             "arguments will be ignored).  Can be repeated multiple times to "280             "make one breakpoint for multiple symbols.">;281  def breakpoint_set_source_pattern_regexp282      : Option<"source-pattern-regexp", "p">,283        Group<9>,284        Arg<"RegularExpression">,285        Required,286        Desc<"Set the breakpoint by specifying a regular expression which is "287             "matched against the source text in a source file or files "288             "specified with the -f can be specified more than once.  If no "289             "source files are specified, uses the current \"default source "290             "file\".  If you want to match against all source files, ${p}ass "291             "the \"--all-files\" option.">;292  def breakpoint_set_all_files293      : Option<"all-files", "A">,294        Group<9>,295        Desc<"${A}ll files are searched for source pattern matches.">;296  def breakpoint_set_language_exception297      : Option<"language-exception", "E">,298        Group<10>,299        Arg<"Language">,300        Required,301        Desc<"Set the breakpoint on ${e}xceptions thrown by the specified "302             "language (without options, on throw but not catch.)">;303  def breakpoint_set_on_throw304      : Option<"on-throw", "w">,305        Group<10>,306        Arg<"Boolean">,307        Desc<"Set the breakpoint on exception thro${w}.">;308  def breakpoint_set_on_catch309      : Option<"on-catch", "h">,310        Group<10>,311        Arg<"Boolean">,312        Desc<"Set the breakpoint on exception catc${h}.">;313  def breakpoint_set_language314      : Option<"language", "L">,315        GroupRange<3, 8>,316        Arg<"Language">,317        Desc<"Specifies the ${L}anguage to use when interpreting the "318             "breakpoint's expression (note: currently only implemented for "319             "setting breakpoints on identifiers). If not set the "320             "target.language setting is used.">;321  def breakpoint_set_skip_prologue322      : Option<"skip-prologue", "K">,323        Arg<"Boolean">,324        Groups<[1, 3, 4, 5, 6, 7, 8, 12]>,325        Desc<"S${k}ip the prologue if the breakpoint is at the beginning of a "326             "function. If not set the target.skip-prologue setting is used.">;327  def breakpoint_set_breakpoint_name328      : Option<"breakpoint-name", "N">,329        Arg<"BreakpointName">,330        Desc<"Adds this to the list of ${n}ames for this breakpoint.">;331  def breakpoint_set_address_slide332      : Option<"address-slide", "R">,333        Arg<"Address">,334        Groups<[1, 3, 4, 5, 6, 7, 8, 12]>,335        Desc<"Add the specified offset to whatever address(es) the breakpoint "336             "${r}esolves to. At present this applies the offset directly as "337             "given, and doesn't try to align it to instruction boundaries.">;338  def breakpoint_set_move_to_nearest_code339      : Option<"move-to-nearest-code", "m">,340        Groups<[1, 9, 12]>,341        Arg<"Boolean">,342        Desc<"${M}ove breakpoints to nearest code. If not set the "343             "target.move-to-nearest-code setting is used.">;344  def breakpoint_set_file_colon_line345      : Option<"joint-specifier", "y">,346        Group<12>,347        Arg<"FileLineColumn">,348        Required,349        Completion<"SourceFile">,350        Desc<"A specifier in the form filename:line[:column] for setting file "351             "& line breakpoints.">;352  /* Don't add this option till it actually does something useful...353  def breakpoint_set_exception_typename : Option<"exception-typename", "O">,354    Arg<"TypeName">, Desc<"The breakpoint will only stop if an "355    "exception Object of this type is thrown.  Can be repeated multiple times "356    "to stop for multiple object types">;357   */358}359 360let Command = "breakpoint clear" in {361  def breakpoint_clear_file : Option<"file", "f">,362                              Group<1>,363                              Arg<"Filename">,364                              Completion<"SourceFile">,365                              Desc<"Specify the breakpoint by source location "366                                   "in this particular ${f}ile.">;367  def breakpoint_clear_line : Option<"line", "l">,368                              Group<1>,369                              Arg<"LineNum">,370                              Required,371                              Desc<"Specify the breakpoint by source location "372                                   "at this particular ${l}ine.">;373}374 375let Command = "breakpoint delete" in {376  def breakpoint_delete_force377      : Option<"force", "f">,378        Group<1>,379        Desc<"Delete all breakpoints without querying for confirmation.">;380  def breakpoint_delete_dummy_breakpoints381      : Option<"dummy-breakpoints", "D">,382        Group<1>,383        Desc<"Delete Dummy breakpoints - i.e. breakpoints set before a file is "384             "provided, which prime new targets.">;385  def breakpoint_delete_disabled386      : Option<"disabled", "d">,387        Group<1>,388        Desc<"${D}elete all breakpoints which are currently disabled. When "389             "using the disabled option any breakpoints listed on the command "390             "line are EXCLUDED from deletion.">;391}392 393let Command = "breakpoint name" in {394  def breakpoint_name_name : Option<"name", "N">,395                             Group<1>,396                             Arg<"BreakpointName">,397                             Desc<"Specifies a breakpoint name to use.">;398  def breakpoint_name_breakpoint_id : Option<"breakpoint-id", "B">,399                                      Group<2>,400                                      Arg<"BreakpointID">,401                                      Desc<"Specify a breakpoint ID to use.">;402  def breakpoint_name_dummy_breakpoints403      : Option<"dummy-breakpoints", "D">,404        Group<3>,405        Desc<"Operate on Dummy breakpoints - i.e. breakpoints set before a "406             "file is provided, which prime new targets.">;407  def breakpoint_name_help_string408      : Option<"help-string", "H">,409        Group<4>,410        Arg<"None">,411        Desc<"A help string describing the purpose of this name.">;412}413 414let Command = "breakpoint access" in {415  def breakpoint_access_allow_list416      : Option<"allow-list", "L">,417        Group<1>,418        Arg<"Boolean">,419        Desc<"Determines whether the breakpoint will show up in break list if "420             "not referred to explicitly.">;421  def breakpoint_access_allow_disable422      : Option<"allow-disable", "A">,423        Group<2>,424        Arg<"Boolean">,425        Desc<"Determines whether the breakpoint can be disabled by name or "426             "when all breakpoints are disabled.">;427  def breakpoint_access_allow_delete428      : Option<"allow-delete", "D">,429        Group<3>,430        Arg<"Boolean">,431        Desc<"Determines whether the breakpoint can be deleted by name or when "432             "all breakpoints are deleted.">;433}434 435let Command = "breakpoint read" in {436  def breakpoint_read_file437      : Option<"file", "f">,438        Arg<"Filename">,439        Required,440        Completion<"DiskFile">,441        Desc<"The ${f}ile from which to read the breakpoints.">;442  def breakpoint_read_breakpoint_name443      : Option<"breakpoint-name", "N">,444        Arg<"BreakpointName">,445        Desc<"Only read in breakpoints with this name.">;446}447 448let Command = "breakpoint write" in {449  def breakpoint_write_file450      : Option<"file", "f">,451        Arg<"Filename">,452        Required,453        Completion<"DiskFile">,454        Desc<"The ${f}ile into which to write the breakpoints.">;455  def breakpoint_write_append456      : Option<"append", "a">,457        Desc<"${A}ppend to saved breakpoints file if it exists.">;458}459 460let Command = "breakpoint command add" in {461  def breakpoint_add_one_liner462      : Option<"one-liner", "o">,463        Group<1>,464        Arg<"OneLiner">,465        Desc<"Specify a ${o}ne-line breakpoint command inline. Be sure to "466             "surround it with quotes.">;467  def breakpoint_add_stop_on_error468      : Option<"stop-on-error", "e">,469        Arg<"Boolean">,470        Desc<"Specify whether breakpoint command execution should terminate on "471             "error.">;472  def breakpoint_add_script_type473      : Option<"script-type", "s">,474        EnumArg<"ScriptLang">,475        Desc<"Specify the language for the commands - if none is specified, "476             "the lldb command interpreter will be used.">;477  def breakpoint_add_dummy_breakpoints478      : Option<"dummy-breakpoints", "D">,479        Desc<"Sets Dummy breakpoints - i.e. breakpoints set before a file is "480             "provided, which prime new targets.">;481}482 483let Command = "breakpoint command delete" in {484  def breakpoint_command_delete_dummy_breakpoints485      : Option<"dummy-breakpoints", "D">,486        Group<1>,487        Desc<"Delete commands from Dummy breakpoints - i.e. breakpoints set "488             "before a file is provided, which prime new targets.">;489}490 491let Command = "disassemble" in {492  def disassemble_options_bytes493      : Option<"bytes", "b">,494        Desc<"Show opcode ${b}ytes when disassembling.">;495  def disassemble_options_kind496      : Option<"kind", "k">,497        Desc<"Show instruction control flow ${k}ind. Refer to the enum "498             "`InstructionControlFlowKind` for a list of control flow kind. As "499             "an important note, far jumps, far calls and far returns often "500             "indicate calls to and from kernel.">;501  def disassemble_options_context502      : Option<"context", "C">,503        Arg<"NumLines">,504        Desc<"Number of ${c}ontext lines of source to show.">;505  def disassemble_options_mixed506      : Option<"mixed", "m">,507        Desc<"Enable ${m}ixed source and assembly display.">;508  def disassemble_options_raw509      : Option<"raw", "r">,510        Desc<"Print ${r}aw disassembly with no symbol information.">;511  def disassemble_options_plugin512      : Option<"plugin", "P">,513        Arg<"Plugin">,514        Desc<"Name of the disassembler ${p}lugin you want to use.">;515  def disassemble_options_flavor516      : Option<"flavor", "F">,517        Arg<"DisassemblyFlavor">,518        Desc<"Name of the disassembly ${f}lavor you want to use. Currently the "519             "only valid options are default, and for Intel architectures, att "520             "and intel.">;521  def disassemble_options_cpu : Option<"cpu", "X">,522                                Arg<"CPUName">,523                                Desc<"Override the CPU for disassembling.">;524  def disassemble_options_features525      : Option<"features", "Y">,526        Arg<"CPUFeatures">,527        Desc<"Specify additional CPU features for disassembling.">;528  def disassemble_options_arch529      : Option<"arch", "A">,530        Arg<"Architecture">,531        Desc<"Specify the ${a}rchitecture to use for cross disassembly.">;532  def disassemble_options_start_address533      : Option<"start-address", "s">,534        Groups<[1, 2]>,535        Arg<"AddressOrExpression">,536        Required,537        Desc<"Address at which to ${s}tart disassembling.">;538  def disassemble_options_end_address539      : Option<"end-address", "e">,540        Group<1>,541        Arg<"AddressOrExpression">,542        Desc<"Address at which to ${e}nd disassembling.">;543  def disassemble_options_count : Option<"count", "c">,544                                  Groups<[2, 3, 4, 5, 7]>,545                                  Arg<"NumLines">,546                                  Desc<"Number of instructions to display.">;547  def disassemble_options_name548      : Option<"name", "n">,549        Group<3>,550        Arg<"FunctionName">,551        Completion<"Symbol">,552        Desc<"Disassemble entire contents of the given function ${n}ame.">;553  def disassemble_options_frame554      : Option<"frame", "f">,555        Group<4>,556        Desc<"Disassemble from the start of the current frame's function.">;557  def disassemble_options_pc : Option<"pc", "p">,558                               Group<5>,559                               Desc<"Disassemble around the current ${p}c.">;560  def disassemble_options_line561      : Option<"line", "l">,562        Group<6>,563        Desc<"Disassemble the current frame's current source ${l}ine "564             "instructions if there is debug line table information, else "565             "disassemble around the pc.">;566  def disassemble_options_address567      : Option<"address", "a">,568        Group<7>,569        Arg<"AddressOrExpression">,570        Desc<"Disassemble function containing this ${a}ddress.">;571  def disassemble_options_force : Option<"force", "\\x01">,572                                  Groups<[2, 3, 4, 5, 7]>,573                                  Desc<"Force disassembly of large functions.">;574  def disassemble_options_variable575      : Option<"variable", "v">,576        Desc<"Enable ${v}ariable disassembly annotations for this invocation.">;577}578 579let Command = "diagnostics dump" in {580  def diagnostics_dump_directory581      : Option<"directory", "d">,582        Group<1>,583        Arg<"Path">,584        Desc<"Dump the diagnostics to the given directory.">;585}586 587let Command = "expression" in {588  def expression_options_all_threads589      : Option<"all-threads", "a">,590        Groups<[1, 2]>,591        Arg<"Boolean">,592        Desc<593            "Should we run ${a}ll threads if the execution doesn't complete on "594            "one thread.">;595  def expression_options_ignore_breakpoints596      : Option<"ignore-breakpoints", "i">,597        Groups<[1, 2]>,598        Arg<"Boolean">,599        Desc<"${I}gnore breakpoint hits while running expressions">;600  def expression_options_timeout601      : Option<"timeout", "t">,602        Groups<[1, 2]>,603        Arg<"UnsignedInteger">,604        Desc<"${T}imeout value (in microseconds) for running the expression.">;605  def expression_options_unwind_on_error606      : Option<"unwind-on-error", "u">,607        Groups<[1, 2]>,608        Arg<"Boolean">,609        Desc<"Clean up program state if the expression causes a crash, or "610             "raises a signal. Note, unlike gdb hitting a breakpoint is "611             "controlled by another option (-i).">;612  def expression_options_debug613      : Option<"debug", "g">,614        Groups<[1, 2]>,615        Desc<"When specified, debug the JIT code by setting a breakpoint on "616             "the first instruction and forcing breakpoints to not be ignored "617             "(-i0) and no unwinding to happen on error (-u0).">;618  def expression_options_language619      : Option<"language", "l">,620        Groups<[1, 2, 3]>,621        Arg<"Language">,622        Desc<"Specifies the Language to use when parsing the expression.  If "623             "not set the target.language setting is used.">;624  def expression_options_apply_fixits625      : Option<"apply-fixits", "X">,626        Groups<[1, 2]>,627        Arg<"Boolean">,628        Desc<"If true, simple fix-it hints will be automatically applied to "629             "the expression.">;630  def expression_options_description_verbosity631      : Option<"description-verbosity", "v">,632        Group<1>,633        OptionalEnumArg<"DescriptionVerbosity">,634        Desc<"How verbose should the output of this expression be, if the "635             "object description is asked for.">;636  def expression_options_top_level637      : Option<"top-level", "p">,638        Groups<[1, 2]>,639        Desc<"Interpret the expression as a complete translation unit, without "640             "injecting it into the local context.  Allows declaration of "641             "persistent, top-level entities without a $ prefix.">;642  def expression_options_allow_jit643      : Option<"allow-jit", "j">,644        Groups<[1, 2]>,645        Arg<"Boolean">,646        Desc<"Controls whether the expression can fall back to being JITted if "647             "it's not supported by the interpreter (defaults to true).">;648  def persistent_result649      : Option<"persistent-result", "\\x01">,650        Groups<[1, 2]>,651        Arg<"Boolean">,652        Desc<"Persist expression result in a variable for subsequent use. "653             "Expression results will be labeled with $-prefixed variables, "654             "e.g. $0, $1, etc.">;655}656 657let Command = "frame diag" in {658  def frame_diag_register : Option<"register", "r">,659                            Group<1>,660                            Arg<"RegisterName">,661                            Desc<"A register to diagnose.">;662  def frame_diag_address : Option<"address", "a">,663                           Group<1>,664                           Arg<"Address">,665                           Desc<"An address to diagnose.">;666  def frame_diag_offset : Option<"offset", "o">,667                          Group<1>,668                          Arg<"Offset">,669                          Desc<"An optional offset.  Requires --register.">;670}671 672let Command = "frame select" in {673  def frame_select_relative674      : Option<"relative", "r">,675        Group<1>,676        Arg<"Offset">,677        Desc<"A relative frame index offset from the current frame index.">;678}679 680let Command = "frame recognizer add" in {681  def frame_recognizer_shlib : Option<"shlib", "s">,682                               Arg<"ShlibName">,683                               Completion<"Module">,684                               Desc<"Name of the module or shared library that "685                                    "this recognizer applies to.">;686  def frame_recognizer_function687      : Option<"function", "n">,688        Arg<"Name">,689        Completion<"Symbol">,690        Desc<"Name of the function that this recognizer applies to. Can be "691             "specified more than once except if -x|--regex is provided.">;692  def frame_recognizer_python_class : Option<"python-class", "l">,693                                      Group<2>,694                                      Arg<"PythonClass">,695                                      Desc<"Give the name of a Python class to "696                                           "use for this frame recognizer.">;697  def frame_recognizer_regex698      : Option<"regex", "x">,699        Desc<"Function name and module name are actually regular expressions.">;700  def frame_recognizer_first_instruction_only701      : Option<"first-instruction-only", "f">,702        Arg<"Boolean">,703        Desc<"If true, only apply this recognizer to frames whose PC currently "704             "points to the first instruction of the specified function. If "705             "false, the recognizer will always be applied, regardless of the "706             "current position within the specified function. The implementer "707             "should keep in mind that some features, e.g., accessing function "708             "argument values via $arg<N>, are not guaranteed to work reliably "709             "in this case, so extra care must be taken to make the recognizer "710             "operate correctly. Defaults to true.">;711}712 713let Command = "history" in {714  def history_count : Option<"count", "c">,715                      Group<1>,716                      Arg<"UnsignedInteger">,717                      Desc<"How many history commands to print.">;718  def history_start_index : Option<"start-index", "s">,719                            Group<1>,720                            Arg<"UnsignedInteger">,721                            Desc<"Index at which to start printing history "722                                 "commands (or end to mean tail mode).">;723  def history_end_index724      : Option<"end-index", "e">,725        Group<1>,726        Arg<"UnsignedInteger">,727        Desc<"Index at which to stop printing history commands.">;728  def history_clear : Option<"clear", "C">,729                      Group<2>,730                      Desc<"Clears the current command history.">;731}732 733let Command = "log enable" in {734  def log_file : Option<"file", "f">,735                 Group<1>,736                 Arg<"Filename">,737                 Desc<"Set the destination file to log to.">;738  def log_handler : Option<"log-handler", "h">,739                    Group<1>,740                    EnumArg<"LogHandler">,741                    Desc<"Specify a log handler which determines where log "742                         "messages are written.">;743  def log_buffer_size : Option<"buffer", "b">,744                        Group<1>,745                        Arg<"UnsignedInteger">,746                        Desc<"Set the log to be buffered, using the specified "747                             "buffer size, if supported by the log handler.">;748  def log_verbose : Option<"verbose", "v">,749                    Group<1>,750                    Desc<"Enable verbose logging.">;751  def log_sequence752      : Option<"sequence", "s">,753        Group<1>,754        Desc<"Prepend all log lines with an increasing integer sequence id.">;755  def log_timestamp : Option<"timestamp", "T">,756                      Group<1>,757                      Desc<"Prepend all log lines with a timestamp.">;758  def log_pid_tid : Option<"pid-tid", "p">,759                    Group<1>,760                    Desc<"Prepend all log lines with the process and thread ID "761                         "that generates the log line.">;762  def log_thread_name : Option<"thread-name", "n">,763                        Group<1>,764                        Desc<"Prepend all log lines with the thread name for "765                             "the thread that generates the log line.">;766 767  def log_stack : Option<"stack", "S">,768                  Group<1>,769                  Desc<"Append a stack backtrace to each log line.">;770  def log_append : Option<"append", "a">,771                   Group<1>,772                   Desc<"Append to the log file instead of overwriting.">;773  def log_file_function774      : Option<"file-function", "F">,775        Group<1>,776        Desc<"Prepend the names of files and function that generate the logs.">;777}778 779let Command = "log dump" in {780  def log_dump_file : Option<"file", "f">,781                      Group<1>,782                      Arg<"Filename">,783                      Desc<"Set the destination file to dump to.">;784}785 786let Command = "memory read" in {787  def memory_read_num_per_line788      : Option<"num-per-line", "l">,789        Group<1>,790        Arg<"NumberPerLine">,791        Desc<"The number of items per line to display.">;792  def memory_read_binary793      : Option<"binary", "b">,794        Group<2>,795        Desc<"If true, memory will be saved as binary. If false, the memory is "796             "saved save as an ASCII dump that uses the format, size, count "797             "and number per line settings.">;798  def memory_read_type : Option<"type", "t">,799                         Groups<[3, 4]>,800                         Arg<"Name">,801                         Required,802                         Desc<"The name of a type to view memory as.">;803  def memory_read_language804      : Option<"language", "x">,805        Group<4>,806        Arg<"Language">,807        Desc<"The language of the type to view memory as.">;808  def memory_read_offset : Option<"offset", "E">,809                           Group<3>,810                           Arg<"Count">,811                           Desc<"How many elements of the specified type to "812                                "skip before starting to display data.">;813  def memory_read_force814      : Option<"force", "r">,815        Groups<[1, 2, 3]>,816        Desc<"Necessary if reading over target.max-memory-read-size bytes.">;817}818 819let Command = "memory find" in {820  def memory_find_expression821      : Option<"expression", "e">,822        Group<1>,823        Arg<"Expression">,824        Required,825        Desc<"Evaluate an expression to obtain a byte pattern.">;826  def memory_find_string : Option<"string", "s">,827                           Group<2>,828                           Arg<"Name">,829                           Required,830                           Desc<"Use text to find a byte pattern.">;831  def memory_find_count : Option<"count", "c">,832                          Arg<"Count">,833                          Desc<"How many times to perform the search.">;834  def memory_find_dump_offset835      : Option<"dump-offset", "o">,836        Arg<"Offset">,837        Desc<"When dumping memory for a match, an offset from the match "838             "location to start dumping from.">;839}840 841let Command = "memory write" in {842  def memory_write_infile : Option<"infile", "i">,843                            Group<1>,844                            Arg<"Filename">,845                            Required,846                            Desc<"Write memory using the contents of a file.">;847  def memory_write_offset848      : Option<"offset", "o">,849        Group<1>,850        Arg<"Offset">,851        Desc<"Start writing bytes from an offset within the input file.">;852}853 854let Command = "memory region" in {855  def memory_region_all : Option<"all", "a">,856                          Group<2>,857                          Required,858                          Desc<"Show all memory regions. This is equivalent to "859                               "starting from address 0 and repeating the "860                               "command. Unmapped areas are included.">;861}862 863let Command = "memory tag write" in {864  def memory_write_end_addr865      : Option<"end-addr", "e">,866        Group<1>,867        Arg<"AddressOrExpression">,868        Desc<"Set tags for start address to end-addr, repeating tags as needed "869             "to cover the range. (instead of calculating the range from the "870             "number of tags given)">;871}872 873let Command = "register read" in {874  def register_read_alternate875      : Option<"alternate", "A">,876        Desc<"Display register names using the alternate register name if "877             "there is one.">;878  def register_read_set : Option<"set", "s">,879                          Group<1>,880                          Arg<"Index">,881                          Desc<"Specify which register sets to dump by index.">;882  def register_read_all : Option<"all", "a">,883                          Group<2>,884                          Desc<"Show all register sets.">;885}886 887let Command = "source" in {888  def source_stop_on_error : Option<"stop-on-error", "e">,889                             Arg<"Boolean">,890                             Desc<"If true, stop executing commands on error.">;891  def source_stop_on_continue892      : Option<"stop-on-continue", "c">,893        Arg<"Boolean">,894        Desc<"If true, stop executing commands on continue.">;895  def source_silent_run : Option<"silent-run", "s">,896                          Arg<"Boolean">,897                          Desc<"If true don't echo commands while executing.">;898  def cmd_relative_to_command_file899      : Option<"relative-to-command-file", "C">,900        Desc<"Resolve non-absolute paths relative to the location of the "901             "current command file. This argument can only be used when the "902             "command is being sourced from a file.">;903}904 905let Command = "alias" in {906  def alias_help : Option<"help", "h">,907                   Arg<"HelpText">,908                   Desc<"Help text for this command">;909  def alias_long_help : Option<"long-help", "H">,910                        Arg<"HelpText">,911                        Desc<"Long help text for this command">;912}913 914let Command = "regex" in {915  def regex_help : Option<"help", "h">,916                   Group<1>,917                   Arg<"None">,918                   Desc<"The help text to display for this command.">;919  def regex_syntax : Option<"syntax", "s">,920                     Group<1>,921                     Arg<"None">,922                     Desc<"A syntax string showing the typical usage syntax.">;923}924 925let Command = "permissions" in {926  def permissions_permissions_value927      : Option<"permissions-value", "v">,928        Arg<"PermissionsNumber">,929        Desc<"Give out the numeric value for permissions (e.g. 757)">;930  def permissions_permissions_string931      : Option<"permissions-string", "s">,932        Arg<"PermissionsString">,933        Desc<"Give out the string value for permissions (e.g. rwxr-xr--).">;934  def permissions_user_read : Option<"user-read", "r">,935                              Desc<"Allow user to read.">;936  def permissions_user_write : Option<"user-write", "w">,937                               Desc<"Allow user to write.">;938  def permissions_user_exec : Option<"user-exec", "x">,939                              Desc<"Allow user to execute.">;940  def permissions_group_read : Option<"group-read", "R">,941                               Desc<"Allow group to read.">;942  def permissions_group_write : Option<"group-write", "W">,943                                Desc<"Allow group to write.">;944  def permissions_group_exec : Option<"group-exec", "X">,945                               Desc<"Allow group to execute.">;946  def permissions_world_read : Option<"world-read", "d">,947                               Desc<"Allow world to read.">;948  def permissions_world_write : Option<"world-write", "t">,949                                Desc<"Allow world to write.">;950  def permissions_world_exec : Option<"world-exec", "e">,951                               Desc<"Allow world to execute.">;952}953 954let Command = "platform fread" in {955  def platform_fread_offset956      : Option<"offset", "o">,957        Group<1>,958        Arg<"Index">,959        Desc<"Offset into the file at which to start reading.">;960  def platform_fread_count : Option<"count", "c">,961                             Group<1>,962                             Arg<"Count">,963                             Desc<"Number of bytes to read from the file.">;964}965 966let Command = "platform fwrite" in {967  def platform_fwrite_offset968      : Option<"offset", "o">,969        Group<1>,970        Arg<"Index">,971        Desc<"Offset into the file at which to start reading.">;972  def platform_fwrite_data : Option<"data", "d">,973                             Group<1>,974                             Arg<"Value">,975                             Desc<"Text to write to the file.">;976}977 978let Command = "platform process list" in {979  def platform_process_list_pid980      : Option<"pid", "p">,981        Group<1>,982        Arg<"Pid">,983        Desc<"List the process info for a specific process ID.">;984  def platform_process_list_name985      : Option<"name", "n">,986        Group<2>,987        Arg<"ProcessName">,988        Required,989        Desc<"Find processes with executable basenames that match a string.">;990  def platform_process_list_ends_with991      : Option<"ends-with", "e">,992        Group<3>,993        Arg<"ProcessName">,994        Required,995        Desc<996            "Find processes with executable basenames that end with a string.">;997  def platform_process_list_starts_with998      : Option<"starts-with", "s">,999        Group<4>,1000        Arg<"ProcessName">,1001        Required,1002        Desc<"Find processes with executable basenames that start with a "1003             "string.">;1004  def platform_process_list_contains1005      : Option<"contains", "c">,1006        Group<5>,1007        Arg<"ProcessName">,1008        Required,1009        Desc<"Find processes with executable basenames that contain a string.">;1010  def platform_process_list_regex1011      : Option<"regex", "r">,1012        Group<6>,1013        Arg<"RegularExpression">,1014        Required,1015        Desc<"Find processes with executable basenames that match a regular "1016             "expression.">;1017  def platform_process_list_parent1018      : Option<"parent", "P">,1019        GroupRange<2, 6>,1020        Arg<"Pid">,1021        Desc<"Find processes that have a matching parent process ID.">;1022  def platform_process_list_uid1023      : Option<"uid", "u">,1024        GroupRange<2, 6>,1025        Arg<"UnsignedInteger">,1026        Validator<"&posix_validator">,1027        Desc<"Find processes that have a matching user ID.">;1028  def platform_process_list_euid1029      : Option<"euid", "U">,1030        GroupRange<2, 6>,1031        Arg<"UnsignedInteger">,1032        Validator<"&posix_validator">,1033        Desc<"Find processes that have a matching effective user ID.">;1034  def platform_process_list_gid1035      : Option<"gid", "g">,1036        GroupRange<2, 6>,1037        Arg<"UnsignedInteger">,1038        Validator<"&posix_validator">,1039        Desc<"Find processes that have a matching group ID.">;1040  def platform_process_list_egid1041      : Option<"egid", "G">,1042        GroupRange<2, 6>,1043        Arg<"UnsignedInteger">,1044        Validator<"&posix_validator">,1045        Desc<"Find processes that have a matching effective group ID.">;1046  def platform_process_list_arch1047      : Option<"arch", "a">,1048        GroupRange<2, 6>,1049        Arg<"Architecture">,1050        Desc<"Find processes that have a matching architecture.">;1051  def platform_process_list_show_args1052      : Option<"show-args", "A">,1053        GroupRange<1, 6>,1054        Desc<"Show process arguments instead of the process executable "1055             "basename.">;1056  def platform_process_list_all_users1057      : Option<"all-users", "x">,1058        GroupRange<1, 6>,1059        Desc<"Show processes matching all user IDs.">;1060  def platform_process_list_verbose : Option<"verbose", "v">,1061                                      GroupRange<1, 6>,1062                                      Desc<"Enable verbose output.">;1063}1064 1065let Command = "platform process attach" in {1066  def platform_process_attach_plugin1067      : Option<"plugin", "P">,1068        Arg<"Plugin">,1069        Desc<"Name of the process plugin you want to use.">;1070  def platform_process_attach_pid1071      : Option<"pid", "p">,1072        Group<1>,1073        Arg<"Pid">,1074        Desc<"The process ID of an existing process to attach to.">;1075  def platform_process_attach_name1076      : Option<"name", "n">,1077        Group<2>,1078        Arg<"ProcessName">,1079        Desc<"The name of the process to attach to.">;1080  def platform_process_attach_waitfor1081      : Option<"waitfor", "w">,1082        Group<2>,1083        Desc<"Wait for the process with <process-name> to launch.">;1084}1085 1086let Command = "platform shell" in {1087  def platform_shell_host1088      : Option<"host", "h">,1089        Desc<"Run the commands on the host shell when enabled.">;1090  def platform_shell_timeout : Option<"timeout", "t">,1091                               Arg<"Value">,1092                               Desc<"Seconds to wait for the remote host to "1093                                    "finish running the command.">;1094  def platform_shell_interpreter : Option<"shell", "s">,1095                                   Arg<"Path">,1096                                   Desc<"Shell interpreter path. This is the "1097                                        "binary used to run the command.">;1098}1099 1100let Command = "plugin list" in {1101  def plugin_list_json : Option<"json", "j">,1102                         Desc<"Output the plugin list in json format.">;1103}1104 1105let Command = "process launch" in {1106  def process_launch_stop_at_entry1107      : Option<"stop-at-entry", "s">,1108        Desc<1109            "Stop at the entry point of the program when launching a process.">;1110  def process_launch_stop_at_user_entry1111      : Option<"stop-at-user-entry", "m">,1112        Desc<"Stop at the user entry point when launching a process. For C "1113             "based languages this will be the 'main' function, but this might "1114             "differ for other languages.">;1115  def process_launch_disable_aslr1116      : Option<"disable-aslr", "A">,1117        Arg<"Boolean">,1118        Desc<"Set whether to disable address space layout randomization when "1119             "launching a process.">;1120  def process_launch_plugin1121      : Option<"plugin", "P">,1122        Arg<"Plugin">,1123        Desc<"Name of the process plugin you want to use.">;1124  def process_launch_working_dir1125      : Option<"working-dir", "w">,1126        Arg<"DirectoryName">,1127        Desc<"Set the current working directory to <path> when running the "1128             "inferior. This option applies only to the current `process "1129             "launch` invocation. If `target.launch-working-dir` is set and "1130             "this option is given, the value of this option will be used "1131             "instead of the setting.">;1132  def process_launch_arch1133      : Option<"arch", "a">,1134        Arg<"Architecture">,1135        Desc<"Set the architecture for the process to launch when ambiguous.">;1136  def process_launch_environment1137      : Option<"environment", "E">,1138        Arg<"None">,1139        Desc<"Specify an environment variable name/value string (--environment "1140             "NAME=VALUE). Can be specified multiple times for subsequent "1141             "environment entries.">;1142  def process_launch_shell1143      : Option<"shell", "c">,1144        GroupRange<1, 3>,1145        OptionalArg<"Filename">,1146        Desc<"Run the process in a shell (not supported on all platforms).">;1147  def process_launch_stdin1148      : Option<"stdin", "i">,1149        Group<1>,1150        Arg<"Filename">,1151        Desc<"Redirect stdin for the process to <filename>.">;1152  def process_launch_stdout1153      : Option<"stdout", "o">,1154        Group<1>,1155        Arg<"Filename">,1156        Desc<"Redirect stdout for the process to <filename>.">;1157  def process_launch_stderr1158      : Option<"stderr", "e">,1159        Group<1>,1160        Arg<"Filename">,1161        Desc<"Redirect stderr for the process to <filename>.">;1162  def process_launch_tty : Option<"tty", "t">,1163                           Group<2>,1164                           Desc<"Start the process in a terminal (not "1165                                "supported on all platforms).">;1166  def process_launch_no_stdio1167      : Option<"no-stdio", "n">,1168        Group<3>,1169        Desc<"Do not set up for terminal I/O to go to running process.">;1170  def process_launch_shell_expand_args1171      : Option<"shell-expand-args", "X">,1172        Group<4>,1173        Arg<"Boolean">,1174        Desc<"Set whether to shell expand arguments to the process when "1175             "launching.">;1176  def process_launch_memory_tagging1177      : Option<"memory-tagging", "M">,1178        Desc<"Set whether to explicitly enable memory tagging when launching "1179             "the process.  Requires hardware support.  "1180             "(Only supported on Darwin.)">;1181}1182 1183let Command = "process attach" in {1184  def process_attach_continue1185      : Option<"continue", "c">,1186        Desc<"Immediately ${c}ontinue the process once attached.">;1187  def process_attach_plugin1188      : Option<"plugin", "P">,1189        Arg<"Plugin">,1190        Desc<"Name of the process ${p}lugin you want to use.">;1191  def process_attach_pid1192      : Option<"pid", "p">,1193        Group<1>,1194        Arg<"Pid">,1195        Desc<"The ${p}rocess ID of an existing process to attach to.">;1196  def process_attach_name : Option<"name", "n">,1197                            Group<2>,1198                            Arg<"ProcessName">,1199                            Desc<"The ${n}ame of the process to attach to.">;1200  def process_attach_include_existing1201      : Option<"include-existing", "i">,1202        Group<2>,1203        Desc<"${I}nclude existing processes when doing attach -w.">;1204  def process_attach_waitfor1205      : Option<"waitfor", "w">,1206        Group<2>,1207        Desc<"${W}ait for the process with <process-name> to launch.">;1208}1209 1210let Command = "process continue" in {1211  def process_continue_ignore_count1212      : Option<"ignore-count", "i">,1213        Groups<[1, 2]>,1214        Arg<"UnsignedInteger">,1215        Desc<"Ignore <N> crossings of the breakpoint (if it exists) for the "1216             "currently selected thread.">;1217  def process_continue_run_to_bkpt1218      : Option<"continue-to-bkpt", "b">,1219        Groups<[3, 4]>,1220        Arg<"BreakpointIDRange">,1221        Desc<"Specify a breakpoint to continue to, temporarily ignoring other "1222             "breakpoints.  Can be specified more than once.  The continue "1223             "action will be done synchronously if this option is specified.">;1224  def thread_continue_forward1225      : Option<"forward", "F">,1226        Groups<[1, 3]>,1227        Desc<"Set the direction to forward before continuing.">;1228  def thread_continue_reverse1229      : Option<"reverse", "R">,1230        Groups<[2, 4]>,1231        Desc<"Set the direction to reverse before continuing.">;1232}1233 1234let Command = "process detach" in {1235  def process_detach_keep_stopped1236      : Option<"keep-stopped", "s">,1237        Group<1>,1238        Arg<"Boolean">,1239        Desc<"Whether or not the process should be kept stopped on"1240             " detach (if possible).">;1241}1242 1243let Command = "process connect" in {1244  def process_connect_plugin1245      : Option<"plugin", "p">,1246        Arg<"Plugin">,1247        Desc<"Name of the process plugin you want to use.">;1248}1249 1250let Command = "process load" in {1251  def process_load_install1252      : Option<"install", "i">,1253        OptionalArg<"Path">,1254        Desc<1255            "Install the shared library to the target. If specified without an "1256            "argument then the library will installed in the current working "1257            "directory.">;1258}1259 1260let Command = "process handle" in {1261  def process_handle_clear1262      : Option<"clear", "c">,1263        Group<2>,1264        Desc<"Removes the signals listed from the Target signal handlers">;1265  def process_handle_stop1266      : Option<"stop", "s">,1267        Group<1>,1268        Arg<"Boolean">,1269        Desc<"Whether or not the process should be stopped if the signal is "1270             "received.">;1271  def process_handle_notify : Option<"notify", "n">,1272                              Group<1>,1273                              Arg<"Boolean">,1274                              Desc<"Whether or not the debugger should notify "1275                                   "the user if the signal is "1276                                   "received.">;1277  def process_handle_pass1278      : Option<"pass", "p">,1279        Group<1>,1280        Arg<"Boolean">,1281        Desc<"Whether or not the signal should be passed to the process.">;1282  def process_handle_only_target1283      : Option<"target", "t">,1284        Group<1>,1285        Desc<"Show only the signals with behaviors modified in this target">;1286  def process_handle_dummy : Option<"dummy", "d">,1287                             Group<2>,1288                             Desc<"Also clear the values in the dummy target "1289                                  "so they won't be inherited by new targets.">;1290}1291 1292let Command = "process status" in {1293  def process_status_verbose : Option<"verbose", "v">,1294                               Group<1>,1295                               Desc<"Show verbose process status including "1296                                    "extended crash information.">;1297  def process_status_dump1298      : Option<"dump-modification-id", "d">,1299        Group<1>,1300        Desc<"Dump the state of the ProcessModID of the stopped process.">;1301}1302 1303let Command = "process save_core" in {1304  def process_save_core_style : Option<"style", "s">,1305                                Group<1>,1306                                EnumArg<"SaveCoreStyle">,1307                                Desc<"Request a specific style "1308                                     "of corefile to be saved.">;1309  def process_save_core_plugin_name1310      : Option<"plugin-name", "p">,1311        OptionalArg<"Plugin">,1312        Desc<"Specify a plugin name to create the core file. "1313             "This allows core files to be saved in different formats.">;1314}1315 1316let Command = "script import" in {1317  def script_import_allow_reload1318      : Option<"allow-reload", "r">,1319        Group<1>,1320        Desc<"Allow the script to be loaded even if it was already loaded "1321             "before. "1322             "This argument exists for backwards compatibility, but reloading "1323             "is always "1324             "allowed, whether you specify it or not.">;1325  def relative_to_command_file1326      : Option<"relative-to-command-file", "c">,1327        Group<1>,1328        Desc<"Resolve non-absolute paths relative to the location of the "1329             "current command file. This argument can only be used when the "1330             "command is "1331             "being sourced from a file.">;1332  def silent : Option<"silent", "s">,1333               Group<1>,1334               Desc<"If true don't print any script output while importing.">;1335}1336 1337let Command = "script add" in {1338  def script_add_function1339      : Option<"function", "f">,1340        Group<1>,1341        Arg<"PythonFunction">,1342        Desc<"Name of the Python function to bind to this command name.">;1343  def script_add_class1344      : Option<"class", "c">,1345        Groups<[2, 3]>,1346        Arg<"PythonClass">,1347        Desc<"Name of the Python class to bind to this command name.">;1348  def script_add_help : Option<"help", "h">,1349                        Group<1>,1350                        Arg<"HelpText">,1351                        Desc<"The help text to display for this command.">;1352  def script_add_overwrite1353      : Option<"overwrite", "o">,1354        Desc<"Overwrite an existing command at this node.">;1355  def script_add_synchronicity1356      : Option<"synchronicity", "s">,1357        EnumArg<"ScriptedCommandSynchronicity">,1358        Desc<1359            "Set the synchronicity of this command's executions with regard to "1360            "LLDB event system.">;1361  def script_add_completion_type1362      : Option<"completion-type", "C">,1363        Groups<[1, 2]>,1364        EnumArg<"CompletionType">,1365        Desc<1366            "Specify which completion type the command should use - if none is "1367            "specified, the command won't use auto-completion.">;1368  def script_add_parsed_command1369      : Option<"parsed", "p">,1370        Group<3>,1371        Desc<1372            "Make a parsed command. The command class will provide the command "1373            "definition by implementing get_options and get_arguments.">;1374}1375 1376let Command = "container add" in {1377  def container_add_help : Option<"help", "h">,1378                           Arg<"HelpText">,1379                           Desc<"Help text for this command">;1380  def container_add_long_help : Option<"long-help", "H">,1381                                Arg<"HelpText">,1382                                Desc<"Long help text for this command">;1383  def container_add_overwrite1384      : Option<"overwrite", "o">,1385        Group<1>,1386        Desc<"Overwrite an existing command at this node.">;1387}1388 1389let Command = "scripting run" in {1390  def script_language : Option<"language", "l">,1391                        EnumArg<"ScriptLang">,1392                        Desc<"Specify the scripting "1393                             " language. If none is specific the default "1394                             "scripting language is used.">;1395}1396 1397let Command = "scripting extension list" in {1398  def scripting_extension_list_language1399      : Option<"language", "l">,1400        EnumArg<"ScriptLang">,1401        Desc<"Specify the scripting "1402             " language. If none is specified the default scripting language "1403             "is used.">;1404}1405 1406let Command = "source info" in {1407  def source_info_count : Option<"count", "c">,1408                          Arg<"Count">,1409                          Desc<"The number of line entries to display.">;1410  def source_info_shlib1411      : Option<"shlib", "s">,1412        Groups<[1, 2]>,1413        Arg<"ShlibName">,1414        Completion<"Module">,1415        Desc<"Look up the source in the given module or "1416             "shared library (can be specified more than once).">;1417  def source_info_file : Option<"file", "f">,1418                         Group<1>,1419                         Arg<"Filename">,1420                         Completion<"SourceFile">,1421                         Desc<"The file from which to display source.">;1422  def source_info_line1423      : Option<"line", "l">,1424        Group<1>,1425        Arg<"LineNum">,1426        Desc<"The line number at which to start the displaying lines.">;1427  def source_info_end_line1428      : Option<"end-line", "e">,1429        Group<1>,1430        Arg<"LineNum">,1431        Desc<"The line number at which to stop displaying lines.">;1432  def source_info_name1433      : Option<"name", "n">,1434        Group<2>,1435        Arg<"Symbol">,1436        Completion<"Symbol">,1437        Desc<"The name of a function whose source to display.">;1438  def source_info_address1439      : Option<"address", "a">,1440        Group<3>,1441        Arg<"AddressOrExpression">,1442        Desc<"Lookup the address and display the source"1443             " information for the corresponding file and line.">;1444}1445 1446let Command = "source list" in {1447  def source_list_count : Option<"count", "c">,1448                          Arg<"Count">,1449                          Desc<"The number of source lines to display.">;1450  def source_list_shlib1451      : Option<"shlib", "s">,1452        Groups<[1, 2, 5]>,1453        Arg<"ShlibName">,1454        Completion<"Module">,1455        Desc<"Look up the source file in the given shared library.">;1456  def source_list_show_breakpoints1457      : Option<"show-breakpoints", "b">,1458        Desc<"Show the line table locations from the debug information that "1459             "indicate valid places to set source level breakpoints.">;1460  def source_list_file : Option<"file", "f">,1461                         Group<1>,1462                         Arg<"Filename">,1463                         Completion<"SourceFile">,1464                         Desc<"The file from which to display source.">;1465  def source_list_line1466      : Option<"line", "l">,1467        Group<1>,1468        Arg<"LineNum">,1469        Desc<"The line number at which to start displaying source.">;1470  def source_list_name1471      : Option<"name", "n">,1472        Group<2>,1473        Arg<"Symbol">,1474        Completion<"Symbol">,1475        Desc<"The name of a function whose source to display.">;1476  def source_list_address1477      : Option<"address", "a">,1478        Group<3>,1479        Arg<"AddressOrExpression">,1480        Desc<"Lookup the address and display the source information for the "1481             "corresponding file and line.">;1482  def source_list_reverse : Option<"reverse", "r">,1483                            Group<4>,1484                            Desc<"Reverse the listing to look backwards from "1485                                 "the last displayed block of source.">;1486  def source_list_file_colon_line1487      : Option<"joint-specifier", "y">,1488        Group<5>,1489        Arg<"FileLineColumn">,1490        Completion<"SourceFile">,1491        Desc<"A specifier in the form filename:line[:column] from which to "1492             "display source.">;1493}1494 1495let Command = "target dependents" in {1496  def dependents_no_dependents1497      : Option<"no-dependents", "d">,1498        Group<1>,1499        OptionalEnumArg<"Value">,1500        Desc<"Whether or not to load dependents when creating a target. If the "1501             "option is not specified, the value is implicitly 'default'. If "1502             "the "1503             "option is specified but without a value, the value is implicitly "1504             "'true'.">;1505}1506 1507let Command = "target modules dump" in {1508  def target_modules_dump_verbose : Option<"verbose", "v">,1509                                    Desc<"Enable verbose dump.">;1510}1511 1512let Command = "target modules list" in {1513  def target_modules_list_address : Option<"address", "a">,1514                                    Group<1>,1515                                    Arg<"AddressOrExpression">,1516                                    Desc<"Display the image at this address.">;1517  def target_modules_list_arch1518      : Option<"arch", "A">,1519        Group<1>,1520        OptionalArg<"Width">,1521        Desc<"Display the architecture when listing images.">;1522  def target_modules_list_triple1523      : Option<"triple", "t">,1524        Group<1>,1525        OptionalArg<"Width">,1526        Desc<"Display the triple when listing images.">;1527  def target_modules_list_header : Option<"header", "h">,1528                                   Group<1>,1529                                   Desc<"Display the image base address as a "1530                                        "load address if debugging, a file"1531                                        " address otherwise.">;1532  def target_modules_list_offset1533      : Option<"offset", "o">,1534        Group<1>,1535        Desc<"Display the image load address offset from the base file address "1536             "(the slide amount).">;1537  def target_modules_list_uuid : Option<"uuid", "u">,1538                                 Group<1>,1539                                 Desc<"Display the UUID when listing images.">;1540  def target_modules_list_fullpath1541      : Option<"fullpath", "f">,1542        Group<1>,1543        OptionalArg<"Width">,1544        Desc<"Display the fullpath to the image object file.">;1545  def target_modules_list_directory1546      : Option<"directory", "d">,1547        Group<1>,1548        OptionalArg<"Width">,1549        Desc<"Display the directory with optional width for "1550             "the image object file.">;1551  def target_modules_list_basename1552      : Option<"basename", "b">,1553        Group<1>,1554        OptionalArg<"Width">,1555        Desc<"Display the basename with optional width for "1556             "the image object file.">;1557  def target_modules_list_symfile1558      : Option<"symfile", "s">,1559        Group<1>,1560        OptionalArg<"Width">,1561        Desc<"Display the fullpath to the image symbol file "1562             "with optional width.">;1563  def target_modules_list_symfile_unique1564      : Option<"symfile-unique", "S">,1565        Group<1>,1566        OptionalArg<"Width">,1567        Desc<"Display the symbol file with optional"1568             " width only if it is different from the executable object file.">;1569  def target_modules_list_mod_time1570      : Option<"mod-time", "m">,1571        Group<1>,1572        OptionalArg<"Width">,1573        Desc<"Display the modification time with optional "1574             "width of the module.">;1575  def target_modules_list_ref_count1576      : Option<"ref-count", "r">,1577        Group<1>,1578        OptionalArg<"Width">,1579        Desc<1580            "Display whether the module is still in the "1581            "the shared module cache (Y/N), and its shared pointer use_count.">;1582  def target_modules_list_pointer : Option<"pointer", "p">,1583                                    Group<1>,1584                                    OptionalArg<"None">,1585                                    Desc<"Display the module pointer.">;1586  def target_modules_list_global1587      : Option<"global", "g">,1588        Group<1>,1589        Desc<"Display the modules from the global module list, not just the "1590             "current target.">;1591}1592 1593let Command = "target modules show unwind" in {1594  def target_modules_show_unwind_name1595      : Option<"name", "n">,1596        Group<1>,1597        Arg<"FunctionName">,1598        Desc<"Show unwind instructions for a function or symbol name.">;1599  def target_modules_show_unwind_address1600      : Option<"address", "a">,1601        Group<2>,1602        Arg<"AddressOrExpression">,1603        Desc<"Show unwind instructions for a function "1604             "or symbol containing an address">;1605  def target_modules_show_unwind_cached1606      : Option<"cached", "c">,1607        Arg<"Boolean">,1608        Desc<"Show cached unwind information">;1609}1610 1611let Command = "target modules lookup" in {1612  def target_modules_lookup_address : Option<"address", "a">,1613                                      Group<1>,1614                                      Arg<"AddressOrExpression">,1615                                      Required,1616                                      Desc<"Lookup an address in one or "1617                                           "more target modules.">;1618  def target_modules_lookup_offset1619      : Option<"offset", "o">,1620        Group<1>,1621        Arg<"Offset">,1622        Desc<"When looking up an address subtract <offset> from any "1623             "addresses before doing the lookup.">;1624  // FIXME: re-enable regex for types when the LookupTypeInModule actually uses1625  // the regex option by adding to group 6.1626  def target_modules_lookup_regex1627      : Option<"regex", "r">,1628        Groups<[2, 4, 5]>,1629        Desc<"The <name> argument for name lookups are regular expressions.">;1630  def target_modules_lookup_symbol1631      : Option<"symbol", "s">,1632        Group<2>,1633        Arg<"Symbol">,1634        Required,1635        Desc<"Lookup a symbol by name in the symbol tables"1636             " in one or more target modules.">;1637  def target_modules_lookup_file1638      : Option<"file", "f">,1639        Group<3>,1640        Arg<"Filename">,1641        Required,1642        Desc<"Lookup a file by fullpath or basename in "1643             "one or more target modules.">;1644  def target_modules_lookup_line1645      : Option<"line", "l">,1646        Group<3>,1647        Arg<"LineNum">,1648        Desc<"Lookup a line number in a file (must be used in "1649             "conjunction with --file).">;1650  def target_modules_lookup_no_inlines1651      : Option<"no-inlines", "i">,1652        GroupRange<3, 5>,1653        Desc<1654            "Ignore inline entries (must be used in conjunction with --file or "1655            "--function).">;1656  def target_modules_lookup_function1657      : Option<"function", "F">,1658        Group<4>,1659        Arg<"FunctionName">,1660        Required,1661        Desc<"Lookup a function by name in the debug"1662             " symbols in one or more target modules.">;1663  def target_modules_lookup_name : Option<"name", "n">,1664                                   Group<5>,1665                                   Arg<"FunctionOrSymbol">,1666                                   Required,1667                                   Desc<"Lookup a function or symbol by "1668                                        "name in one or more target modules.">;1669  def target_modules_lookup_type1670      : Option<"type", "t">,1671        Group<6>,1672        Arg<"Name">,1673        Required,1674        Desc<"Lookup a type by name in the debug symbols in one or more "1675             "target modules.">;1676  def target_modules_lookup_variables_ranges1677      : Option<"show-variable-ranges", "\\x01">,1678        GroupRange<1, 6>,1679        Desc<"Dump valid ranges of variables (must be used in conjunction with "1680             "--verbose">;1681  def target_modules_lookup_verbose1682      : Option<"verbose", "v">,1683        Desc<"Enable verbose lookup information.">;1684  def target_modules_lookup_all : Option<"all", "A">,1685                                  Desc<"Print all matches, not just the best "1686                                       "match, if a best match is available.">;1687}1688 1689let Command = "target stop_hook add" in {1690  def target_stop_hook_add_one_liner1691      : Option<"one-liner", "o">,1692        GroupRange<1, 3>,1693        Arg<"OneLiner">,1694        Desc<"Add a command for the stop hook.  Can be specified more than "1695             "once, and commands will be run in the order they appear.">;1696  def target_stop_hook_add_shlib1697      : Option<"shlib", "s">,1698        Arg<"ShlibName">,1699        Completion<"Module">,1700        Desc<"Set the module within which the stop-hook is to be run.">;1701  def target_stop_hook_add_thread_index1702      : Option<"thread-index", "x">,1703        Arg<"ThreadIndex">,1704        Desc<"The stop hook is run only for the thread whose index matches "1705             "this argument.">;1706  def target_stop_hook_add_thread_id1707      : Option<"thread-id", "t">,1708        Arg<"ThreadID">,1709        Desc<"The stop hook is run only for the thread whose TID matches this "1710             "argument.">;1711  def target_stop_hook_add_thread_name1712      : Option<"thread-name", "T">,1713        Arg<"ThreadName">,1714        Desc<"The stop hook is run only for the thread whose thread name "1715             "matches this argument.">;1716  def target_stop_hook_add_queue_name1717      : Option<"queue-name", "q">,1718        Arg<"QueueName">,1719        Desc<"The stop hook is run only for threads in the ${q}ueue whose name "1720             "is given by this argument.">;1721  def target_stop_hook_add_file : Option<"file", "f">,1722                                  Groups<[1, 4]>,1723                                  Arg<"Filename">,1724                                  Desc<"Specify the source ${f}ile within "1725                                       "which the stop-hook is to be run.">,1726                                  Completion<"SourceFile">;1727  def target_stop_hook_add_start_line1728      : Option<"start-line", "l">,1729        Groups<[1, 4]>,1730        Arg<"LineNum">,1731        Desc<"Set the start of the ${l}ine range for which the "1732             "stop-hook is to be run.">;1733  def target_stop_hook_add_end_line1734      : Option<"end-line", "e">,1735        Groups<[1, 4]>,1736        Arg<"LineNum">,1737        Desc<"Set the ${e}nd of the line range for which the stop-hook is to "1738             "be run.">;1739  def target_stop_hook_add_classname1740      : Option<"classname", "c">,1741        Groups<[2, 5]>,1742        Arg<"ClassName">,1743        Desc<"Specify the ${c}lass within which the stop-hook is to be run.">;1744  def target_stop_hook_add_name1745      : Option<"name", "n">,1746        Groups<[3, 6]>,1747        Arg<"FunctionName">,1748        Desc<1749            "Set the ${f}unction name within which the stop hook will be run.">,1750        Completion<"Symbol">;1751  def target_stop_hook_add_auto_continue1752      : Option<"auto-continue", "G">,1753        Arg<"Boolean">,1754        Desc<"The stop-hook will auto-continue after running its commands.">;1755  def target_stop_hook_add_at_initial_stop1756      : Option<"at-initial-stop", "I">,1757        Arg<"Boolean">,1758        Desc<"Whether the stop-hook will trigger when lldb ${i}nitially gains "1759             "control of the process. For a process launch, this initial stop "1760             "may happen very early on - before the loader has run. You can "1761             "use this option if you do not want some stop-hooks to run then. "1762             "Defaults to true.">;1763}1764 1765let Command = "target stop_hook list" in {1766  def target_stop_hook_list_internal1767      : Option<"internal", "i">,1768        Desc<"Show debugger ${i}nternal stop hooks.">;1769}1770 1771let Command = "thread backtrace" in {1772  def thread_backtrace_count : Option<"count", "c">,1773                               Group<1>,1774                               Arg<"Count">,1775                               Desc<"How many frames to display (0 for all)">;1776  def thread_backtrace_start : Option<"start", "s">,1777                               Group<1>,1778                               Arg<"FrameIndex">,1779                               Desc<"Frame in which to ${s}tart the backtrace">;1780  def thread_backtrace_extended1781      : Option<"extended", "e">,1782        Group<1>,1783        Arg<"Boolean">,1784        Desc<"Show the ${e}xtended backtrace, if available">;1785  def thread_backtrace_unfiltered : Option<"unfiltered", "u">,1786                                    Group<1>,1787                                    Desc<"Do not filter out frames according "1788                                         "to installed frame recognizers">;1789}1790 1791let Command = "thread step scope" in {1792  def thread_step_scope_step_in_avoids_no_debug1793      : Option<"step-in-avoids-no-debug", "a">,1794        Group<1>,1795        Arg<"Boolean">,1796        Desc<"A boolean value that sets whether stepping into functions will "1797             "step over functions with no debug information.">;1798  def thread_step_scope_step_out_avoids_no_debug1799      : Option<"step-out-avoids-no-debug", "A">,1800        Group<1>,1801        Arg<"Boolean">,1802        Desc<"A boolean value, if true stepping out of functions will continue "1803             "to step out till it hits a function with debug information.">;1804  def thread_step_scope_count1805      : Option<"count", "c">,1806        Group<1>,1807        Arg<"Count">,1808        Desc<"How many times to perform the stepping operation - currently "1809             "only supported for step-inst and next-inst.">;1810  def thread_step_scope_end_linenumber1811      : Option<"end-linenumber", "e">,1812        Group<1>,1813        Arg<"LineNum">,1814        Desc<"The line at which to stop stepping - defaults to the next line "1815             "and only supported for step-in and step-over. You can also pass "1816             "the string 'block' to step to the end of the current block. This "1817             "is particularly useful in conjunction with --step-target to step "1818             "through a complex calling sequence.">;1819  def thread_step_scope_run_mode : Option<"run-mode", "m">,1820                                   Group<1>,1821                                   EnumArg<"RunMode">,1822                                   Desc<"Determine how to run other threads "1823                                        "while stepping the current thread.">;1824  def thread_step_scope_step_over_regexp1825      : Option<"step-over-regexp", "r">,1826        Group<1>,1827        Arg<"RegularExpression">,1828        Desc<"A ${r}egular expression that defines function names to not to "1829             "stop at when stepping in.">;1830  def thread_step_scope_step_in_target1831      : Option<"step-in-target", "t">,1832        Group<1>,1833        Arg<"FunctionName">,1834        Desc<"The name of the directly called function step in should stop at "1835             "when stepping into.">;1836}1837 1838let Command = "thread until" in {1839  def thread_until_frame1840      : Option<"frame", "f">,1841        Group<1>,1842        Arg<"FrameIndex">,1843        Desc<"Frame index for until operation - defaults to 0">;1844  def thread_until_thread1845      : Option<"thread", "t">,1846        Group<1>,1847        Arg<"ThreadIndex">,1848        Desc<"Thread index for the thread for until operation">;1849  def thread_until_run_mode : Option<"run-mode", "m">,1850                              Group<1>,1851                              EnumArg<"RunMode">,1852                              Desc<"Determine how to run other "1853                                   "threads while stepping this one">;1854  def thread_until_address1855      : Option<"address", "a">,1856        Group<1>,1857        Arg<"AddressOrExpression">,1858        Desc<"Run until we reach the specified address, "1859             "or leave the function - can be specified multiple times.">;1860}1861 1862let Command = "thread info" in {1863  def thread_info_json : Option<"json", "j">,1864                         Desc<"Display the thread info in"1865                              " JSON format.">;1866  def thread_info_stop_info : Option<"stop-info", "s">,1867                              Desc<"Display the "1868                                   "extended stop info in JSON format.">;1869  def thread_info_backing_thread : Option<"backing-thread", "b">,1870                                   Desc<"If this is an OS plugin thread, query "1871                                        "the backing thread instead; has"1872                                        " no effect otherwise.">;1873}1874 1875let Command = "thread return" in {1876  def thread_return_from_expression1877      : Option<"from-expression", "x">,1878        Desc<"Return from the innermost expression evaluation.">;1879}1880 1881let Command = "thread jump" in {1882  def thread_jump_file : Option<"file", "f">,1883                         Group<1>,1884                         Arg<"Filename">,1885                         Completion<"SourceFile">,1886                         Desc<"Specifies the source file to jump to.">;1887  def thread_jump_line : Option<"line", "l">,1888                         Group<1>,1889                         Arg<"LineNum">,1890                         Required,1891                         Desc<"Specifies the line number to jump to.">;1892  def thread_jump_by1893      : Option<"by", "b">,1894        Group<2>,1895        Arg<"Offset">,1896        Required,1897        Desc<"Jumps by a relative line offset from the current line, "1898             "can be a positive or negative offset.">;1899  def thread_jump_address : Option<"address", "a">,1900                            Group<3>,1901                            Arg<"AddressOrExpression">,1902                            Required,1903                            Desc<"Jumps to a specific address.">;1904  def thread_jump_force : Option<"force", "r">,1905                          Groups<[1, 2, 3]>,1906                          Desc<"Allows the PC to leave the current function.">;1907}1908 1909let Command = "thread plan list" in {1910  def thread_plan_list_verbose1911      : Option<"verbose", "v">,1912        Group<1>,1913        Desc<"Display more information about the thread plans">;1914  def thread_plan_list_internal1915      : Option<"internal", "i">,1916        Group<1>,1917        Desc<"Display internal as well as user thread plans">;1918  def thread_plan_list_thread_id1919      : Option<"thread-id", "t">,1920        Group<1>,1921        Arg<"ThreadID">,1922        Desc<"List the thread plans for this TID, can be "1923             "specified more than once.">;1924  def thread_plan_list_unreported1925      : Option<"unreported", "u">,1926        Group<1>,1927        Desc<"Display thread plans for unreported threads">;1928}1929 1930let Command = "thread select" in {1931  def thread_select_thread_id1932      : Option<"thread-id", "t">,1933        Group<2>,1934        Arg<"ThreadID">,1935        Completion<"ThreadID">,1936        Desc<"Provide a thread ID instead of a thread index.">;1937}1938 1939let Command = "thread trace dump function calls" in {1940  def thread_trace_dump_function_calls_file1941      : Option<"file", "F">,1942        Group<1>,1943        Arg<"Filename">,1944        Desc<"Dump the function calls to a file instead of the standard "1945             "output.">;1946  def thread_trace_dump_function_calls_json1947      : Option<"json", "j">,1948        Group<1>,1949        Desc<"Dump in simple JSON format.">;1950  def thread_trace_dump_function_calls_pretty_json1951      : Option<"pretty-json", "J">,1952        Group<1>,1953        Desc<"Dump in JSON format but pretty printing the output for easier "1954             "readability.">;1955}1956 1957let Command = "thread trace dump instructions" in {1958  def thread_trace_dump_instructions_forwards1959      : Option<"forwards", "f">,1960        Group<1>,1961        Desc<"If specified, the trace is traversed forwards chronologically "1962             "starting at the oldest instruction. Otherwise, it starts at the "1963             "most "1964             "recent one and the traversal is backwards.">;1965  def thread_trace_dump_instructions_count1966      : Option<"count", "c">,1967        Group<1>,1968        Arg<"Count">,1969        Desc<1970            "The number of instructions to display starting at the most recent "1971            "instruction, or the oldest if --forwards is provided.">;1972  def thread_trace_dump_instructions_all1973      : Option<"all", "a">,1974        Group<1>,1975        Desc<"From the starting point of the trace, dump all instructions "1976             "available.">;1977  def thread_trace_dump_instructions_id1978      : Option<"id", "i">,1979        Group<1>,1980        Arg<"Index">,1981        Desc<"Custom starting instruction id from where to start traversing. "1982             "This "1983             "id can be provided in decimal or hexadecimal representation.">;1984  def thread_trace_dump_instructions_skip1985      : Option<"skip", "s">,1986        Group<1>,1987        Arg<"Index">,1988        Desc<"How many trace items (instructions, errors and events) to skip "1989             "from "1990             "the starting position of the trace before starting the "1991             "traversal.">;1992  def thread_trace_dump_instructions_raw1993      : Option<"raw", "r">,1994        Group<1>,1995        Desc<"Dump only instruction address without disassembly nor symbol "1996             "information.">;1997  def thread_trace_dump_instructions_file1998      : Option<"file", "F">,1999        Group<1>,2000        Arg<"Filename">,2001        Desc<"Dump the instruction to a file instead of the standard output.">;2002  def thread_trace_dump_instructions_json : Option<"json", "j">,2003                                            Group<1>,2004                                            Desc<"Dump in simple JSON format.">;2005  def thread_trace_dump_instructions_pretty_print2006      : Option<"pretty-json", "J">,2007        Group<1>,2008        Desc<"Dump in JSON format but pretty printing the output for easier "2009             "readability.">;2010  def thread_trace_dump_instructions_show_kind2011      : Option<"kind", "k">,2012        Group<1>,2013        Desc<"Show instruction control flow kind. Refer to the enum "2014             "`InstructionControlFlowKind` for a list of control flow kind. "2015             "As an important note, far jumps, far calls and far returns often "2016             "indicate "2017             "calls to and from kernel.">;2018  def thread_trace_dump_instructions_show_timestamps2019      : Option<"time", "t">,2020        Group<1>,2021        Desc<2022            "For each trace item, print the corresponding wall clock timestamp "2023            "if available.">;2024  def thread_trace_dump_instructions_show_events2025      : Option<"events", "e">,2026        Group<1>,2027        Desc<"Dump the events that happened during the execution of the "2028             "target.">;2029  def thread_trace_dump_instruction_only_events2030      : Option<"only-events", "E">,2031        Group<1>,2032        Desc<"Dump only the events that happened during the execution of the "2033             "target. No instructions are dumped.">;2034  def thread_trace_dump_instructions_continue2035      : Option<"continue", "C">,2036        Group<1>,2037        Desc<2038            "Continue dumping instructions right where the previous invocation "2039            "of "2040            "this command was left, or from the beginning if this is the first "2041            "invocation. The --skip argument is discarded and the other "2042            "arguments are "2043            "preserved from the previous invocation when possible.">;2044}2045 2046let Command = "thread trace dump info" in {2047  def thread_trace_dump_info_verbose2048      : Option<"verbose", "v">,2049        Group<1>,2050        Desc<"show verbose thread trace dump info">;2051  def thread_trace_dump_info_json : Option<"json", "j">,2052                                    Group<1>,2053                                    Desc<"Dump in JSON format.">;2054}2055 2056let Command = "type summary add" in {2057  def type_summary_add_category2058      : Option<"category", "w">,2059        Arg<"Name">,2060        Desc<"Add this to the given category instead of the default one.">;2061  def type_summary_add_cascade2062      : Option<"cascade", "C">,2063        Arg<"Boolean">,2064        Desc<"If true, cascade through typedef chains.">;2065  def type_summary_add_no_value2066      : Option<"no-value", "v">,2067        Desc<"Don't show the value, just show the summary, for this type.">;2068  def type_summary_add_skip_pointers2069      : Option<"skip-pointers", "p">,2070        Desc<"Don't use this format for pointers-to-type objects.">;2071  def type_summary_add_pointer_match_depth2072      : Option<"pointer-match-depth", "d">,2073        Arg<"UnsignedInteger">,2074        Desc<"Specify the maximum pointer depth that this format can be apply "2075             "to "2076             "(default to 1). It's only effective when --skip-pointers is not "2077             "set.">;2078  def type_summary_add_skip_references2079      : Option<"skip-references", "r">,2080        Desc<"Don't use this format for references-to-type objects.">;2081  def type_summary_add_regex2082      : Option<"regex", "x">,2083        Desc<"Type names are actually regular expressions.">;2084  def type_summary_add_recognizer_function2085      : Option<"recognizer-function", "\\x01">,2086        Desc<"The names in the argument list are actually the names of python "2087             "functions that decide whether to use this summary for any given "2088             "type. "2089             "Cannot be specified at the same time as --regex (-x).">;2090  def type_summary_add_inline_children2091      : Option<"inline-children", "c">,2092        Group<1>,2093        Required,2094        Desc<"If true, inline all child values into summary string.">;2095  def type_summary_add_omit_names2096      : Option<"omit-names", "O">,2097        Group<1>,2098        Desc<"If true, omit value names in the summary display.">;2099  def type_summary_add_summary_string2100      : Option<"summary-string", "s">,2101        Group<2>,2102        Arg<"SummaryString">,2103        Required,2104        Desc<"Summary string used to display text and object contents.">;2105  def type_summary_add_python_script2106      : Option<"python-script", "o">,2107        Group<3>,2108        Arg<"PythonScript">,2109        Desc<"Give a one-liner Python script as part of the command.">;2110  def type_summary_add_python_function2111      : Option<"python-function", "F">,2112        Group<3>,2113        Arg<"PythonFunction">,2114        Desc<"Give the name of a Python function to use for this type.">;2115  def type_summary_add_input_python2116      : Option<"input-python", "P">,2117        Group<3>,2118        Desc<"Input Python code to use for this type manually.">;2119  def type_summary_add_expand2120      : Option<"expand", "e">,2121        Groups<[2, 3]>,2122        Desc<"Expand aggregate data types to show children on separate lines.">;2123  def type_summary_add_hide_empty2124      : Option<"hide-empty", "h">,2125        Groups<[2, 3]>,2126        Desc<"Do not expand aggregate data types with no children.">;2127  def type_summary_add_name : Option<"name", "n">,2128                              Groups<[2, 3]>,2129                              Arg<"Name">,2130                              Desc<"A name for this summary string.">;2131}2132 2133let Command = "type synth add" in {2134  def type_synth_add_cascade : Option<"cascade", "C">,2135                               Arg<"Boolean">,2136                               Desc<"If true, cascade through typedef chains.">;2137  def type_synth_add_skip_pointers2138      : Option<"skip-pointers", "p">,2139        Desc<"Don't use this format for pointers-to-type objects.">;2140  def type_synth_add_skip_references2141      : Option<"skip-references", "r">,2142        Desc<"Don't use this format for references-to-type objects.">;2143  def type_synth_add_category2144      : Option<"category", "w">,2145        Arg<"Name">,2146        Desc<"Add this to the given category instead of the default one.">;2147  def type_synth_add_python_class2148      : Option<"python-class", "l">,2149        Group<2>,2150        Arg<"PythonClass">,2151        Desc<"Use this Python class to produce synthetic children.">;2152  def type_synth_add_input_python2153      : Option<"input-python", "P">,2154        Group<3>,2155        Desc<"Type Python code to generate a class that provides synthetic "2156             "children.">;2157  def type_synth_add_regex2158      : Option<"regex", "x">,2159        Desc<"Type names are actually regular expressions.">;2160  def type_synth_add_recognizer_function2161      : Option<"recognizer-function", "\\x01">,2162        Desc<"The names in the argument list are actually the names of python "2163             "functions that decide whether to use this summary for any given "2164             "type. "2165             "Cannot be specified at the same time as --regex (-x).">;2166}2167 2168let Command = "type format add" in {2169  def type_format_add_category2170      : Option<"category", "w">,2171        Arg<"Name">,2172        Desc<"Add this to the given category instead of the default one.">;2173  def type_format_add_cascade2174      : Option<"cascade", "C">,2175        Arg<"Boolean">,2176        Desc<"If true, cascade through typedef chains.">;2177  def type_format_add_skip_pointers2178      : Option<"skip-pointers", "p">,2179        Desc<"Don't use this format for pointers-to-type objects.">;2180  def type_format_add_skip_references2181      : Option<"skip-references", "r">,2182        Desc<"Don't use this format for references-to-type objects.">;2183  def type_format_add_regex2184      : Option<"regex", "x">,2185        Desc<"Type names are actually regular expressions.">;2186  def type_format_add_type2187      : Option<"type", "t">,2188        Group<2>,2189        Arg<"Name">,2190        Desc<"Format variables as if they were of this type.">;2191}2192 2193let Command = "type formatter delete" in {2194  def type_formatter_delete_all : Option<"all", "a">,2195                                  Group<1>,2196                                  Desc<"Delete from every category.">;2197  def type_formatter_delete_category : Option<"category", "w">,2198                                       Group<2>,2199                                       Arg<"Name">,2200                                       Desc<"Delete from given category.">;2201  def type_formatter_delete_language2202      : Option<"language", "l">,2203        Group<3>,2204        Arg<"Language">,2205        Desc<"Delete from given language's category.">;2206}2207 2208let Command = "type formatter clear" in {2209  def type_formatter_clear_all : Option<"all", "a">,2210                                 Desc<"Clear every category.">;2211}2212 2213let Command = "type formatter list" in {2214  def type_formatter_list_category_regex2215      : Option<"category-regex", "w">,2216        Group<1>,2217        Arg<"Name">,2218        Desc<"Only show categories matching this filter.">;2219  def type_formatter_list_language2220      : Option<"language", "l">,2221        Group<2>,2222        Arg<"Language">,2223        Desc<"Only show the category for a specific language.">;2224}2225 2226let Command = "type category define" in {2227  def type_category_define_enabled2228      : Option<"enabled", "e">,2229        Desc<"If specified, this category will be created enabled.">;2230  def type_category_define_language2231      : Option<"language", "l">,2232        Arg<"Language">,2233        Desc<"Specify the language that this category is supported for.">;2234}2235 2236let Command = "type category enable" in {2237  def type_category_enable_language2238      : Option<"language", "l">,2239        Arg<"Language">,2240        Desc<"Enable the category for this language.">;2241}2242 2243let Command = "type category disable" in {2244  def type_category_disable_language2245      : Option<"language", "l">,2246        Arg<"Language">,2247        Desc<"Disable the category for this language.">;2248}2249 2250let Command = "type filter add" in {2251  def type_filter_add_cascade2252      : Option<"cascade", "C">,2253        Arg<"Boolean">,2254        Desc<"If true, cascade through typedef chains.">;2255  def type_filter_add_skip_pointers2256      : Option<"skip-pointers", "p">,2257        Desc<"Don't use this format for pointers-to-type objects.">;2258  def type_filter_add_skip_references2259      : Option<"skip-references", "r">,2260        Desc<"Don't use this format for references-to-type objects.">;2261  def type_filter_add_category2262      : Option<"category", "w">,2263        Arg<"Name">,2264        Desc<"Add this to the given category instead of the default one.">;2265  def type_filter_add_child2266      : Option<"child", "c">,2267        Arg<"ExpressionPath">,2268        Desc<"Include this expression path in the synthetic view.">;2269  def type_filter_add_regex2270      : Option<"regex", "x">,2271        Desc<"Type names are actually regular expressions.">;2272}2273 2274let Command = "type lookup" in {2275  def type_lookup_show_help : Option<"show-help", "h">,2276                              Desc<"Display available help for types">;2277  def type_lookup_language2278      : Option<"language", "l">,2279        Arg<"Language">,2280        Desc<"Which language's types should the search scope be">;2281}2282 2283let Command = "watchpoint list" in {2284  def watchpoint_list_brief2285      : Option<"brief", "b">,2286        Group<1>,2287        Desc<"Give a "2288             "brief description of the watchpoint (no location info).">;2289  def watchpoint_list_full2290      : Option<"full", "f">,2291        Group<2>,2292        Desc<"Give a full "2293             "description of the watchpoint and its locations.">;2294  def watchpoint_list_verbose : Option<"verbose", "v">,2295                                Group<3>,2296                                Desc<"Explain "2297                                     "everything we know about the watchpoint "2298                                     "(for debugging debugger bugs).">;2299}2300 2301let Command = "watchpoint ignore" in {2302  def watchpoint_ignore_ignore_count2303      : Option<"ignore-count", "i">,2304        Arg<"Count">,2305        Required,2306        Desc<"Set the number of times this watchpoint is"2307             " skipped before stopping.">;2308}2309 2310let Command = "watchpoint modify" in {2311  def watchpoint_modify_condition2312      : Option<"condition", "c">,2313        Arg<"Expression">,2314        Desc<"The watchpoint stops only if this condition expression evaluates "2315             "to true.">;2316}2317 2318let Command = "watchpoint command add" in {2319  def watchpoint_command_add_one_liner2320      : Option<"one-liner", "o">,2321        Group<1>,2322        Arg<"OneLiner">,2323        Desc<"Specify a one-line watchpoint command inline. Be "2324             "sure to surround it with quotes.">;2325  def watchpoint_command_add_stop_on_error2326      : Option<"stop-on-error", "e">,2327        Arg<"Boolean">,2328        Desc<"Specify whether watchpoint command execution should "2329             "terminate on error.">;2330  def watchpoint_command_add_script_type2331      : Option<"script-type", "s">,2332        EnumArg<"ScriptLang">,2333        Desc<"Specify the language for the"2334             " commands - if none is specified, the lldb command interpreter "2335             "will be "2336             "used.">;2337  def watchpoint_command_add_python_function2338      : Option<"python-function", "F">,2339        Group<2>,2340        Arg<"PythonFunction">,2341        Desc<"Give the name of a Python function "2342             "to run as command for this watchpoint. Be sure to give a module "2343             "name if "2344             "appropriate.">;2345}2346 2347let Command = "watchpoint delete" in {2348  def watchpoint_delete_force2349      : Option<"force", "f">,2350        Group<1>,2351        Desc<"Delete all watchpoints without querying for confirmation.">;2352}2353 2354let Command = "trace load" in {2355  def trace_load_verbose2356      : Option<"verbose", "v">,2357        Group<1>,2358        Desc<"Show verbose trace load logging for debugging the plug-in "2359             "implementation.">;2360}2361 2362let Command = "trace save" in {2363  def trace_save_compact2364      : Option<"compact", "c">,2365        Group<1>,2366        Desc<"Try not to save to disk information irrelevant to the traced "2367             "processes. Each trace plug-in implements this in a different "2368             "fashion.">;2369}2370 2371let Command = "trace dump" in {2372  def trace_dump_verbose : Option<"verbose", "v">,2373                           Group<1>,2374                           Desc<"Show verbose trace information.">;2375}2376 2377let Command = "trace schema" in {2378  def trace_schema_verbose2379      : Option<"verbose", "v">,2380        Group<1>,2381        Desc<"Show verbose trace schema logging for debugging the plug-in.">;2382}2383 2384let Command = "statistics dump" in {2385  def statistics_dump_all : Option<"all-targets", "a">,2386                            Group<1>,2387                            Desc<"Include statistics for all targets.">;2388  def statistics_dump_summary2389      : Option<"summary", "s">,2390        Group<1>,2391        Desc<"Dump only high-level summary statistics. Exclude targets, "2392             "modules, breakpoints etc... details.">;2393  def statistics_dump_force2394      : Option<"load-all-debug-info", "f">,2395        Group<1>,2396        Desc<"Dump the total possible debug info statistics. Force loading all "2397             "the debug information if not yet loaded, and collect statistics "2398             "with those.">;2399  def statistics_dump_targets2400      : Option<"targets", "r">,2401        Group<1>,2402        Arg<"Boolean">,2403        Desc<"Dump statistics for the targets, including breakpoints, "2404             "expression evaluations, frame variables, etc. Defaults to true "2405             "in both default mode and summary mode. In default mode, if both "2406             "'--targets' and '--modules' are 'true', a list of module "2407             "identifiers will be added to the 'targets' section.">;2408  def statistics_dump_modules2409      : Option<"modules", "m">,2410        Group<1>,2411        Arg<"Boolean">,2412        Desc<"Dump statistics for the modules, including time and size of "2413             "various aspects of the module and debug information, type "2414             "system, path, etc. Defaults to true, unless the '--summary' mode "2415             "is enabled, in which case this is turned off unless specified. "2416             "In default mode, if both '--targets' and '--modules' are 'true', "2417             "a list of module identifiers will be added to the 'targets' "2418             "section.">;2419  def statistics_dump_transcript2420      : Option<"transcript", "t">,2421        Group<1>,2422        Arg<"Boolean">,2423        Desc<"If the setting interpreter.save-transcript is enabled and this "2424             "option is 'true', include a JSON array with all commands the "2425             "user and/or scripts executed during a debug session. Defaults to "2426             "false. ">;2427  def statistics_dump_plugins2428      : Option<"plugins", "p">,2429        Group<1>,2430        Arg<"Boolean">,2431        Desc<"Dump statistics for known plugins including name, order, and "2432             "enabled state. Defaults to true for both summary and default "2433             "mode.">;2434}2435