1include "OptionsBase.td" 2 3let Command = "target modules dump symtab" in { 4 def tm_sort : Option<"sort", "s">, Group<1>, 5 Desc<"Supply a sort order when dumping the symbol table.">, 6 EnumArg<"SortOrder", "OptionEnumValues(g_sort_option_enumeration)">; 7} 8 9let Command = "help" in { 10 def help_hide_aliases : Option<"hide-aliases", "a">, 11 Desc<"Hide aliases in the command list.">; 12 def help_hide_user : Option<"hide-user-commands", "u">, 13 Desc<"Hide user-defined commands from the list.">; 14 def help_show_hidden : Option<"show-hidden-commands", "h">, 15 Desc<"Include commands prefixed with an underscore.">; 16} 17 18let Command = "settings set" in { 19 def setset_global : Option<"global", "g">, Arg<"Filename">, 20 Completion<"DiskFile">, 21 Desc<"Apply the new value to the global default value.">; 22 def setset_force : Option<"force", "f">, 23 Desc<"Force an empty value to be accepted as the default.">; 24} 25 26let Command = "settings write" in { 27 def setwrite_file : Option<"file", "f">, Required, Arg<"Filename">, 28 Completion<"DiskFile">, 29 Desc<"The file into which to write the settings.">; 30 def setwrite_append : Option<"append", "a">, 31 Desc<"Append to saved settings file if it exists.">; 32} 33 34let Command = "settings read" in { 35 def setread_file : Option<"file", "f">, Required, Arg<"Filename">, 36 Completion<"DiskFile">, 37 Desc<"The file from which to read the settings.">; 38} 39 40let Command = "breakpoint list" in { 41 def blist_internal : Option<"internal", "i">, 42 Desc<"Show debugger internal breakpoints">; 43 def blist_brief : Option<"brief", "b">, Group<1>, 44 Desc<"Give a brief description of the breakpoint (no location info).">; 45 def blist_full : Option<"full", "f">, Group<2>, 46 Desc<"Give a full description of the breakpoint and its locations.">; 47 def blist_verbose : Option<"verbose", "v">, Group<3>, 48 Desc<"Explain everything we know about the breakpoint (for debugging " 49 "debugger bugs).">; 50 def blist_dummy_bp : Option<"dummy-breakpoints", "D">, 51 Desc<"List Dummy breakpoints - i.e. breakpoints set before a file is " 52 "provided, which prime new targets.">; 53} 54 55let Command = "thread backtrace" in { 56 def thread_backtrace_count : Option<"count", "c">, Group<1>, Arg<"Count">, 57 Desc<"How many frames to display (-1 for all)">; 58 def thread_backtrace_start : Option<"start", "s">, Group<1>, 59 Arg<"FrameIndex">, Desc<"Frame in which to start the backtrace">; 60 def thread_backtrace_extended : Option<"extended", "e">, Group<1>, 61 Arg<"Boolean">, Desc<"Show the extended backtrace, if available">; 62} 63 64let Command = "thread step scope" in { 65 def thread_step_scope_step_in_avoids_no_debug : 66 Option<"step-in-avoids-no-debug", "a">, Group<1>, Arg<"Boolean">, 67 Desc<"A boolean value that sets whether stepping into functions will step " 68 "over functions with no debug information.">; 69 def thread_step_scope_step_out_avoids_no_debug : 70 Option<"step-out-avoids-no-debug", "A">, Group<1>, Arg<"Boolean">, 71 Desc<"A boolean value, if true stepping out of functions will continue to" 72 " step out till it hits a function with debug information.">; 73 def thread_step_scope_count : Option<"count", "c">, Group<1>, Arg<"Count">, 74 Desc<"How many times to perform the stepping operation - currently only " 75 "supported for step-inst and next-inst.">; 76 def thread_step_scope_end_linenumber : Option<"end-linenumber", "e">, 77 Group<1>, Arg<"LineNum">, Desc<"The line at which to stop stepping - " 78 "defaults to the next line and only supported for step-in and step-over." 79 " You can also pass the string 'block' to step to the end of the current" 80 " block. This is particularly use in conjunction with --step-target to" 81 " step through a complex calling sequence.">; 82 def thread_step_scope_run_mode : Option<"run-mode", "m">, Group<1>, 83 EnumArg<"RunMode", "TriRunningModes()">, Desc<"Determine how to run other " 84 "threads while stepping the current thread.">; 85 def thread_step_scope_step_over_regexp : Option<"step-over-regexp", "r">, 86 Group<1>, Arg<"RegularExpression">, Desc<"A regular expression that defines" 87 "function names to not to stop at when stepping in.">; 88 def thread_step_scope_step_in_target : Option<"step-in-target", "t">, 89 Group<1>, Arg<"FunctionName">, Desc<"The name of the directly called " 90 "function step in should stop at when stepping into.">; 91 def thread_step_scope_python_class : Option<"python-class", "C">, Group<2>, 92 Arg<"PythonClass">, Desc<"The name of the class that will manage this step " 93 "- only supported for Scripted Step.">; 94} 95 96let Command = "thread until" in { 97 def thread_until_frame : Option<"frame", "f">, Group<1>, Arg<"FrameIndex">, 98 Desc<"Frame index for until operation - defaults to 0">; 99 def thread_until_thread : Option<"thread", "t">, Group<1>, Arg<"ThreadIndex">, 100 Desc<"Thread index for the thread for until operation">; 101 def thread_until_run_mode : Option<"run-mode", "m">, Group<1>, 102 EnumArg<"RunMode", "DuoRunningModes()">, Desc<"Determine how to run other" 103 "threads while stepping this one">; 104 def thread_until_address : Option<"address", "a">, Group<1>, 105 Arg<"AddressOrExpression">, Desc<"Run until we reach the specified address," 106 "or leave the function - can be specified multiple times.">; 107} 108 109let Command = "thread info" in { 110 def thread_info_json : Option<"json", "j">, Desc<"Display the thread info in" 111 " JSON format.">; 112 def thread_info_stop_info : Option<"stop-info", "s">, Desc<"Display the " 113 "extended stop info in JSON format.">; 114} 115 116let Command = "thread return" in { 117 def thread_return_from_expression : Option<"from-expression", "x">, 118 Desc<"Return from the innermost expression evaluation.">; 119} 120 121let Command = "thread jump" in { 122 def thread_jump_file : Option<"file", "f">, Group<1>, Arg<"Filename">, 123 Completion<"SourceFile">, Desc<"Specifies the source file to jump to.">; 124 def thread_jump_line : Option<"line", "l">, Group<1>, Arg<"LineNum">, 125 Required, Desc<"Specifies the line number to jump to.">; 126 def thread_jump_by : Option<"by", "b">, Group<2>, Arg<"Offset">, Required, 127 Desc<"Jumps by a relative line offset from the current line.">; 128 def thread_jump_address : Option<"address", "a">, Group<3>, 129 Arg<"AddressOrExpression">, Required, Desc<"Jumps to a specific address.">; 130 def thread_jump_force : Option<"force", "r">, Groups<[1,2,3]>, 131 Desc<"Allows the PC to leave the current function.">; 132} 133 134let Command = "thread plan list" in { 135 def thread_plan_list_verbose : Option<"verbose", "v">, Group<1>, 136 Desc<"Display more information about the thread plans">; 137 def thread_plan_list_internal : Option<"internal", "i">, Group<1>, 138 Desc<"Display internal as well as user thread plans">; 139} 140 141let Command = "type summary add" in { 142 def type_summary_add_category : Option<"category", "w">, Arg<"Name">, 143 Desc<"Add this to the given category instead of the default one.">; 144 def type_summary_add_cascade : Option<"cascade", "C">, Arg<"Boolean">, 145 Desc<"If true, cascade through typedef chains.">; 146 def type_summary_add_no_value : Option<"no-value", "v">, 147 Desc<"Don't show the value, just show the summary, for this type.">; 148 def type_summary_add_skip_pointers : Option<"skip-pointers", "p">, 149 Desc<"Don't use this format for pointers-to-type objects.">; 150 def type_summary_add_skip_references : Option<"skip-references", "r">, 151 Desc<"Don't use this format for references-to-type objects.">; 152 def type_summary_add_regex : Option<"regex", "x">, 153 Desc<"Type names are actually regular expressions.">; 154 def type_summary_add_inline_children : Option<"inline-children", "c">, 155 Group<1>, Required, 156 Desc<"If true, inline all child values into summary string.">; 157 def type_summary_add_omit_names : Option<"omit-names", "O">, Group<1>, 158 Desc<"If true, omit value names in the summary display.">; 159 def type_summary_add_summary_string : Option<"summary-string", "s">, Group<2>, 160 Arg<"SummaryString">, Required, 161 Desc<"Summary string used to display text and object contents.">; 162 def type_summary_add_python_script : Option<"python-script", "o">, Group<3>, 163 Arg<"PythonScript">, 164 Desc<"Give a one-liner Python script as part of the command.">; 165 def type_summary_add_python_function : Option<"python-function", "F">, 166 Group<3>, Arg<"PythonFunction">, 167 Desc<"Give the name of a Python function to use for this type.">; 168 def type_summary_add_input_python : Option<"input-python", "P">, Group<3>, 169 Desc<"Input Python code to use for this type manually.">; 170 def type_summary_add_expand : Option<"expand", "e">, Groups<[2,3]>, 171 Desc<"Expand aggregate data types to show children on separate lines.">; 172 def type_summary_add_hide_empty : Option<"hide-empty", "h">, Groups<[2,3]>, 173 Desc<"Do not expand aggregate data types with no children.">; 174 def type_summary_add_name : Option<"name", "n">, Groups<[2,3]>, Arg<"Name">, 175 Desc<"A name for this summary string.">; 176} 177 178let Command = "type synth add" in { 179 def type_synth_add_cascade : Option<"cascade", "C">, Arg<"Boolean">, 180 Desc<"If true, cascade through typedef chains.">; 181 def type_synth_add_skip_pointers : Option<"skip-pointers", "p">, 182 Desc<"Don't use this format for pointers-to-type objects.">; 183 def type_synth_add_skip_references : Option<"skip-references", "r">, 184 Desc<"Don't use this format for references-to-type objects.">; 185 def type_synth_add_category : Option<"category", "w">, Arg<"Name">, 186 Desc<"Add this to the given category instead of the default one.">; 187 def type_synth_add_python_class : Option<"python-class", "l">, Group<2>, 188 Arg<"PythonClass">, 189 Desc<"Use this Python class to produce synthetic children.">; 190 def type_synth_add_input_python : Option<"input-python", "P">, Group<3>, 191 Desc<"Type Python code to generate a class that provides synthetic " 192 "children.">; 193 def type_synth_add_regex : Option<"regex", "x">, 194 Desc<"Type names are actually regular expressions.">; 195} 196 197let Command = "type format add" in { 198 def type_format_add_category : Option<"category", "w">, Arg<"Name">, 199 Desc<"Add this to the given category instead of the default one.">; 200 def type_format_add_cascade : Option<"cascade", "C">, Arg<"Boolean">, 201 Desc<"If true, cascade through typedef chains.">; 202 def type_format_add_skip_pointers : Option<"skip-pointers", "p">, 203 Desc<"Don't use this format for pointers-to-type objects.">; 204 def type_format_add_skip_references : Option<"skip-references", "r">, 205 Desc<"Don't use this format for references-to-type objects.">; 206 def type_format_add_regex : Option<"regex", "x">, 207 Desc<"Type names are actually regular expressions.">; 208 def type_format_add_type : Option<"type", "t">, Group<2>, Arg<"Name">, 209 Desc<"Format variables as if they were of this type.">; 210} 211 212let Command = "type formatter delete" in { 213 def type_formatter_delete_all : Option<"all", "a">, Group<1>, 214 Desc<"Delete from every category.">; 215 def type_formatter_delete_category : Option<"category", "w">, Group<2>, 216 Arg<"Name">, Desc<"Delete from given category.">; 217 def type_formatter_delete_language : Option<"language", "l">, Group<3>, 218 Arg<"Language">, Desc<"Delete from given language's category.">; 219} 220 221let Command = "type formatter clear" in { 222 def type_formatter_clear_all : Option<"all", "a">, 223 Desc<"Clear every category.">; 224} 225 226let Command = "type formatter list" in { 227 def type_formatter_list_category_regex : Option<"category-regex", "w">, 228 Group<1>, Arg<"Name">, Desc<"Only show categories matching this filter.">; 229 def type_formatter_list_language : Option<"language", "l">, Group<2>, 230 Arg<"Language">, Desc<"Only show the category for a specific language.">; 231} 232 233let Command = "type category define" in { 234 def type_category_define_enabled : Option<"enabled", "e">, 235 Desc<"If specified, this category will be created enabled.">; 236 def type_category_define_language : Option<"language", "l">, Arg<"Language">, 237 Desc<"Specify the language that this category is supported for.">; 238} 239 240let Command = "type category enable" in { 241 def type_category_enable_language : Option<"language", "l">, Arg<"Language">, 242 Desc<"Enable the category for this language.">; 243} 244 245let Command = "type category disable" in { 246 def type_category_disable_language : Option<"language", "l">, Arg<"Language">, 247 Desc<"Enable the category for this language.">; 248} 249 250let Command = "type filter add" in { 251 def type_filter_add_cascade : Option<"cascade", "C">, Arg<"Boolean">, 252 Desc<"If true, cascade through typedef chains.">; 253 def type_filter_add_skip_pointers : Option<"skip-pointers", "p">, 254 Desc<"Don't use this format for pointers-to-type objects.">; 255 def type_filter_add_skip_references : Option<"skip-references", "r">, 256 Desc<"Don't use this format for references-to-type objects.">; 257 def type_filter_add_category : Option<"category", "w">, Arg<"Name">, 258 Desc<"Add this to the given category instead of the default one.">; 259 def type_filter_add_child : Option<"child", "c">, Arg<"ExpressionPath">, 260 Desc<"Include this expression path in the synthetic view.">; 261 def type_filter_add_regex : Option<"regex", "x">, 262 Desc<"Type names are actually regular expressions.">; 263} 264 265let Command = "type lookup" in { 266 def type_lookup_show_help : Option<"show-help", "h">, 267 Desc<"Display available help for types">; 268 def type_lookup_language : Option<"language", "l">, Arg<"Language">, 269 Desc<"Which language's types should the search scope be">; 270} 271 272let Command = "watchpoint list" in { 273 def watchpoint_list_brief : Option<"brief", "b">, Group<1>, Desc<"Give a " 274 "brief description of the watchpoint (no location info).">; 275 def watchpoint_list_full : Option<"full", "f">, Group<2>, Desc<"Give a full " 276 "description of the watchpoint and its locations.">; 277 def watchpoint_list_verbose : Option<"verbose", "v">, Group<3>, Desc<"Explain" 278 "everything we know about the watchpoint (for debugging debugger bugs).">; 279} 280 281let Command = "watchpoint ignore" in { 282 def watchpoint_ignore_ignore_count : Option<"ignore-count", "i">, 283 Arg<"Count">, Required, Desc<"Set the number of times this watchpoint is" 284 " skipped before stopping.">; 285} 286 287let Command = "watchpoint modify" in { 288 def watchpoint_modify_condition : Option<"condition", "c">, Arg<"Expression">, 289 Desc<"The watchpoint stops only if this condition expression evaluates " 290 "to true.">; 291} 292 293let Command = "watchpoint command add" in { 294 def watchpoint_command_add_one_liner : Option<"one-liner", "o">, Group<1>, 295 Arg<"OneLiner">, Desc<"Specify a one-line watchpoint command inline. Be " 296 "sure to surround it with quotes.">; 297 def watchpoint_command_add_stop_on_error : Option<"stop-on-error", "e">, 298 Arg<"Boolean">, Desc<"Specify whether watchpoint command execution should " 299 "terminate on error.">; 300 def watchpoint_command_add_script_type : Option<"script-type", "s">, 301 EnumArg<"None", "ScriptOptionEnum()">, Desc<"Specify the language for the" 302 " commands - if none is specified, the lldb command interpreter will be " 303 "used.">; 304 def watchpoint_command_add_python_function : Option<"python-function", "F">, 305 Group<2>, Arg<"PythonFunction">, Desc<"Give the name of a Python function " 306 "to run as command for this watchpoint. Be sure to give a module name if " 307 "appropriate.">; 308} 309