[Lldb-commits] [lldb] [lldb] Add more command option mnemonics (PR #155705)
via lldb-commits
lldb-commits at lists.llvm.org
Wed Aug 27 14:45:05 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-lldb
Author: Jonas Devlieghere (JDevlieghere)
<details>
<summary>Changes</summary>
Add a bunch of mnemonics to the command options now that they're highlighted in the help output.
---
Patch is 38.39 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/155705.diff
1 Files Affected:
- (modified) lldb/source/Commands/Options.td (+439-241)
``````````diff
diff --git a/lldb/source/Commands/Options.td b/lldb/source/Commands/Options.td
index 7bdd6cfcfcc92..7179bb3c67336 100644
--- a/lldb/source/Commands/Options.td
+++ b/lldb/source/Commands/Options.td
@@ -1,96 +1,122 @@
include "OptionsBase.td"
let Command = "target modules dump symtab" in {
- def tm_sort : Option<"sort", "s">, Group<1>,
- Desc<"Supply a sort order when dumping the symbol table.">,
- EnumArg<"SortOrder">;
- def tm_smn : Option<"show-mangled-names", "m">, Group<1>,
- Desc<"Do not demangle symbol names before showing them.">;
+ def tm_sort : Option<"sort", "s">,
+ Group<1>,
+ Desc<"${S}upply a sort order when dumping the symbol table.">,
+ EnumArg<"SortOrder">;
+ def tm_smn : Option<"show-mangled-names", "m">,
+ Group<1>,
+ Desc<"Do not de${m}angle symbol names before showing them.">;
}
let Command = "target modules dump separate debug info" in {
- def tm_json : Option<"json", "j">, Group<1>,
- Desc<"Output the details in JSON format.">;
- def tm_errors_only : Option<"errors-only", "e">, Group<1>,
- Desc<"Filter to show only debug info files with errors.">;
+ def tm_json : Option<"json", "j">,
+ Group<1>,
+ Desc<"Output the details in ${J}SON format.">;
+ def tm_errors_only
+ : Option<"errors-only", "e">,
+ Group<1>,
+ Desc<"Filter to show only debug info files with ${e}rrors.">;
def tm_force_load_all_debug_info : Option<"force-load-all-debug-info", "f">,
Group<1>,
- Desc<"Load all debug info files.">;
+ Desc<"Load all debug in${f}o files.">;
}
let Command = "help" in {
def help_hide_aliases : Option<"hide-aliases", "a">,
- Desc<"Hide aliases in the command list.">;
+ Desc<"Hide ${a}liases in the command list.">;
def help_hide_user : Option<"hide-user-commands", "u">,
- Desc<"Hide user-defined commands from the list.">;
+ Desc<"Hide ${u}ser-defined commands from the list.">;
def help_show_hidden : Option<"show-hidden-commands", "h">,
Desc<"Include commands prefixed with an underscore.">;
}
let Command = "settings set" in {
- def setset_global : Option<"global", "g">,
- Desc<"Apply the new value to the global default value.">;
- def setset_force : Option<"force", "f">,
- Desc<"Force an empty value to be accepted as the default.">;
+ def setset_global
+ : Option<"global", "g">,
+ Desc<"Apply the new value to the ${g}lobal default value.">;
+ def setset_force
+ : Option<"force", "f">,
+ Desc<"${F}orce an empty value to be accepted as the default.">;
def setset_exists : Option<"exists", "e">,
- Desc<"Set the setting if it exists, but do not cause the command to raise "
- "an error if it does not exist.">;
+ Desc<"Set the setting if it ${e}xists, but do not cause "
+ "the command to raise "
+ "an error if it does not exist.">;
}
let Command = "settings write" in {
- def setwrite_file : Option<"file", "f">, Required, Arg<"Filename">,
- Completion<"DiskFile">,
- Desc<"The file into which to write the settings.">;
+ def setwrite_file : Option<"file", "f">,
+ Required,
+ Arg<"Filename">,
+ Completion<"DiskFile">,
+ Desc<"The ${f}ile into which to write the settings.">;
def setwrite_append : Option<"append", "a">,
- Desc<"Append to saved settings file if it exists.">;
+ Desc<"${A}ppend to saved settings file if it exists.">;
}
let Command = "settings read" in {
- def setread_file : Option<"file", "f">, Required, Arg<"Filename">,
- Completion<"DiskFile">,
- Desc<"The file from which to read the settings.">;
+ def setread_file : Option<"file", "f">,
+ Required,
+ Arg<"Filename">,
+ Completion<"DiskFile">,
+ Desc<"The ${f}ile from which to read the settings.">;
}
let Command = "settings clear" in {
- def setclear_all : Option<"all", "a">,
- Desc<"Clear all settings.">;
+ def setclear_all : Option<"all", "a">, Desc<"Clear ${a}ll settings.">;
}
let Command = "settings show" in {
def setshow_defaults : Option<"defaults", "d">,
- Desc<"Include default values if defined.">;
+ Desc<"Include ${d}efault values if defined.">;
}
let Command = "breakpoint list" in {
// FIXME: We need to add an "internal" command, and then add this sort of
// thing to it. But I need to see it for now, and don't want to wait.
def blist_internal : Option<"internal", "i">,
- Desc<"Show debugger internal breakpoints">;
- def blist_brief : Option<"brief", "b">, Group<1>,
- Desc<"Give a brief description of the breakpoint (no location info).">;
- def blist_full : Option<"full", "f">, Group<2>,
- Desc<"Give a full description of the breakpoint and its locations.">;
+ Desc<"Show debugger ${i}nternal breakpoints">;
+ def blist_brief : Option<"brief", "b">,
+ Group<1>,
+ Desc<"Give a ${b}rief description of the breakpoint (no "
+ "location info).">;
+ def blist_full
+ : Option<"full", "f">,
+ Group<2>,
+ Desc<"Give a ${f}ull description of the breakpoint and its locations.">;
def blist_verbose : Option<"verbose", "v">, Group<3>,
Desc<"Explain everything we know about the breakpoint (for debugging "
"debugger bugs).">;
- def blist_dummy_bp : Option<"dummy-breakpoints", "D">,
- Desc<"List Dummy breakpoints - i.e. breakpoints set before a file is "
- "provided, which prime new targets.">;
+ def blist_dummy_bp
+ : Option<"dummy-breakpoints", "D">,
+ Desc<
+ "List ${D}ummy breakpoints - i.e. breakpoints set before a file is "
+ "provided, which prime new targets.">;
}
let Command = "breakpoint modify" in {
def breakpoint_modify_ignore_count : Option<"ignore-count", "i">, Group<1>,
Arg<"Count">,
Desc<"Set the number of times this breakpoint is skipped before stopping.">;
- def breakpoint_modify_one_shot : Option<"one-shot", "o">, Group<1>,
- Arg<"Boolean">,
- Desc<"The breakpoint is deleted the first time it causes a stop.">;
- def breakpoint_modify_thread_index : Option<"thread-index", "x">, Group<1>,
- Arg<"ThreadIndex">, Desc<"The breakpoint stops only for the thread whose "
- "index matches this argument.">;
- def breakpoint_modify_thread_id : Option<"thread-id", "t">, Group<1>,
- Arg<"ThreadID">, Desc<"The breakpoint stops only for the thread whose TID "
- "matches this argument. The token 'current' resolves to the current thread's ID.">;
+ def breakpoint_modify_one_shot
+ : Option<"one-shot", "o">,
+ Group<1>,
+ Arg<"Boolean">,
+ Desc<"The breakpoint is deleted the first time it causes a stop.">;
+ def breakpoint_modify_thread_index
+ : Option<"thread-index", "x">,
+ Group<1>,
+ Arg<"ThreadIndex">,
+ Desc<"The breakpoint stops only for the thread whose "
+ "inde${x} matches this argument.">;
+ def breakpoint_modify_thread_id
+ : Option<"thread-id", "t">,
+ Group<1>,
+ Arg<"ThreadID">,
+ Desc<"The breakpoint stops only for the ${t}hread whose TID "
+ "matches this argument. The token 'current' resolves to the "
+ "current thread's ID.">;
def breakpoint_modify_thread_name : Option<"thread-name", "T">, Group<1>,
Arg<"ThreadName">, Desc<"The breakpoint stops only for the thread whose "
"thread name matches this argument.">;
@@ -109,121 +135,215 @@ let Command = "breakpoint modify" in {
def breakpoint_modify_auto_continue : Option<"auto-continue", "G">, Group<1>,
Arg<"Boolean">,
Desc<"The breakpoint will auto-continue after running its commands.">;
- def breakpoint_modify_enable : Option<"enable", "e">, Group<2>,
- Desc<"Enable the breakpoint.">;
- def breakpoint_modify_disable : Option<"disable", "d">, Group<3>,
- Desc<"Disable the breakpoint.">;
- def breakpoint_modify_command : Option<"command", "C">, Group<4>,
- Arg<"Command">,
- Desc<"A command to run when the breakpoint is hit, can be provided more "
- "than once, the commands will be run in left-to-right order.">;
+ def breakpoint_modify_enable : Option<"enable", "e">,
+ Group<2>,
+ Desc<"${E}nable the breakpoint.">;
+ def breakpoint_modify_disable : Option<"disable", "d">,
+ Group<3>,
+ Desc<"${D}isable the breakpoint.">;
+ def breakpoint_modify_command
+ : Option<"command", "C">,
+ Group<4>,
+ Arg<"Command">,
+ Desc<"A ${c}ommand to run when the breakpoint is hit, can be provided "
+ "more "
+ "than once, the commands will be run in left-to-right order.">;
}
let Command = "breakpoint dummy" in {
- def breakpoint_dummy_options_dummy_breakpoints :
- Option<"dummy-breakpoints", "D">, Group<1>,
- Desc<"Act on Dummy breakpoints - i.e. breakpoints set before a file is "
- "provided, which prime new targets.">;
+ def breakpoint_dummy_options_dummy_breakpoints
+ : Option<"dummy-breakpoints", "D">,
+ Group<1>,
+ Desc<"Act on ${D}ummy breakpoints - i.e. breakpoints set before a file "
+ "is "
+ "provided, which prime new targets.">;
}
let Command = "breakpoint set" in {
- def breakpoint_set_shlib : Option<"shlib", "s">, Arg<"ShlibName">,
- Completion<"Module">, Groups<[1,2,3,4,5,6,7,8,9,11,12]>, // *not* in group 10
- Desc<"Set the breakpoint only in this shared library. Can repeat this "
- "option multiple times to specify multiple shared libraries.">;
- def breakpoint_set_hardware : Option<"hardware", "H">,
- Desc<"Require the breakpoint to use hardware breakpoints.">;
- def breakpoint_set_file : Option<"file", "f">, Arg<"Filename">,
- Completion<"SourceFile">, Groups<[1,3,4,5,6,7,8,9,11]>,
- Desc<"Specifies the source file in which to set this breakpoint. Note, by "
- "default lldb only looks for files that are #included if they use the "
- "standard include file extensions. To set breakpoints on .c/.cpp/.m/.mm "
- "files that are #included, set target.inline-breakpoint-strategy to "
- "\"always\".">;
- def breakpoint_set_line : Option<"line", "l">, Group<1>, Arg<"LineNum">,
- Required,
- Desc<"Specifies the line number on which to set this breakpoint.">;
- def breakpoint_set_column : Option<"column", "u">, Group<1>, Arg<"ColumnNum">,
- Desc<"Specifies the column number on which to set this breakpoint.">;
- def breakpoint_set_address : Option<"address", "a">, Group<2>,
- Arg<"AddressOrExpression">, Required,
- Desc<"Set the breakpoint at the specified address. If the address maps "
- "uniquely to a particular binary, then the address will be converted to "
- "a \"file\"address, so that the breakpoint will track that binary+offset "
- "no matter where the binary eventually loads. Alternately, if you also "
- "specify the module - with the -s option - then the address will be "
- "treated as a file address in that module, and resolved accordingly. "
- "Again, this will allow lldb to track that offset on subsequent reloads. "
- "The module need not have been loaded at the time you specify this "
- "breakpoint, and will get resolved when the module is loaded.">;
- def breakpoint_set_name : Option<"name", "n">, Group<3>, Arg<"FunctionName">,
- Completion<"Symbol">, Required,
- Desc<"Set the breakpoint by function name. Can be repeated multiple times "
- "to make one breakpoint for multiple names.">;
+ def breakpoint_set_shlib
+ : Option<"shlib", "s">,
+ Arg<"ShlibName">,
+ Completion<"Module">,
+ Groups<[1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12]>, // *not* in group 10
+ Desc<"${S}et the breakpoint only in this shared library. Can repeat "
+ "this "
+ "option multiple times to specify multiple shared libraries.">;
+ def breakpoint_set_hardware
+ : Option<"hardware", "H">,
+ Desc<"Require the breakpoint to use ${h}ardware breakpoints.">;
+ def breakpoint_set_file : Option<"file", "f">,
+ Arg<"Filename">,
+ Completion<"SourceFile">,
+ Groups<[1, 3, 4, 5, 6, 7, 8, 9, 11]>,
+ Desc<"Specifies the source ${f}ile in which to set "
+ "this breakpoint. Note, by "
+ "default lldb only looks for files that are "
+ "#included if they use the "
+ "standard include file extensions. To set "
+ "breakpoints on .c/.cpp/.m/.mm "
+ "files that are #included, set "
+ "target.inline-breakpoint-strategy to "
+ "\"always\".">;
+ def breakpoint_set_line
+ : Option<"line", "l">,
+ Group<1>,
+ Arg<"LineNum">,
+ Required,
+ Desc<"Specifies the ${l}ine number on which to set this breakpoint.">;
+ def breakpoint_set_column
+ : Option<"column", "u">,
+ Group<1>,
+ Arg<"ColumnNum">,
+ Desc<"Specifies the col${u}mn number on which to set this breakpoint.">;
+ def breakpoint_set_address
+ : Option<"address", "a">,
+ Group<2>,
+ Arg<"AddressOrExpression">,
+ Required,
+ Desc<
+ "Set the breakpoint at the specified ${a}ddress. If the address "
+ "maps "
+ "uniquely to a particular binary, then the address will be "
+ "converted to "
+ "a \"file\"address, so that the breakpoint will track that "
+ "binary+offset "
+ "no matter where the binary eventually loads. Alternately, if you "
+ "also "
+ "specify the module - with the -s option - then the address will "
+ "be "
+ "treated as a file address in that module, and resolved "
+ "accordingly. "
+ "Again, this will allow lldb to track that offset on subsequent "
+ "reloads. "
+ "The module need not have been loaded at the time you specify this "
+ "breakpoint, and will get resolved when the module is loaded.">;
+ def breakpoint_set_name : Option<"name", "n">,
+ Group<3>,
+ Arg<"FunctionName">,
+ Completion<"Symbol">,
+ Required,
+ Desc<"Set the breakpoint by function ${n}ame. Can "
+ "be repeated multiple times "
+ "to make one breakpoint for multiple names.">;
def breakpoint_set_source_regexp_function :
Option<"source-regexp-function", "X">, Group<9>, Arg<"FunctionName">,
Completion<"Symbol">,
Desc<"When used with '-p' limits the source regex to source contained in "
"the named functions. Can be repeated multiple times.">;
- def breakpoint_set_fullname : Option<"fullname", "F">, Group<4>,
- Arg<"FullName">, Required, Completion<"Symbol">,
- Desc<"Set the breakpoint by fully qualified function names. For C++ this "
- "means namespaces and all arguments, and for Objective-C this means a full "
- "function prototype with class and selector. Can be repeated multiple times"
- " to make one breakpoint for multiple names.">;
- def breakpoint_set_selector : Option<"selector", "S">, Group<5>,
- Arg<"Selector">, Required,
- Desc<"Set the breakpoint by Objective-C selector name. Can be repeated "
- "multiple times to make one breakpoint for multiple Selectors.">;
- def breakpoint_set_method : Option<"method", "M">, Group<6>, Arg<"Method">,
- Required, Desc<"Set the breakpoint by C++ method names. Can be repeated "
- "multiple times to make one breakpoint for multiple methods.">;
- def breakpoint_set_func_regex : Option<"func-regex", "r">, Group<7>,
- Arg<"RegularExpression">, Required, Desc<"Set the breakpoint by function "
- "name, evaluating a regular-expression to find the function name(s).">;
- def breakpoint_set_basename : Option<"basename", "b">, Group<8>,
- Arg<"FunctionName">, Required, Completion<"Symbol">,
- Desc<"Set the breakpoint by function basename (C++ namespaces and arguments"
- " will be ignored). Can be repeated multiple times to make one breakpoint "
- "for multiple symbols.">;
- def breakpoint_set_source_pattern_regexp :
- Option<"source-pattern-regexp", "p">, Group<9>, Arg<"RegularExpression">,
- Required, Desc<"Set the breakpoint by specifying a regular expression which"
- " is matched against the source text in a source file or files specified "
- "with the -f can be specified more than once. If no source files "
- "are specified, uses the current \"default source file\". If you want to "
- "match against all source files, pass the \"--all-files\" option.">;
- def breakpoint_set_all_files : Option<"all-files", "A">, Group<9>,
- Desc<"All files are searched for source pattern matches.">;
- def breakpoint_set_language_exception : Option<"language-exception", "E">,
- Group<10>, Arg<"Language">, Required,
- Desc<"Set the breakpoint on exceptions thrown by the specified language "
- "(without options, on throw but not catch.)">;
- def breakpoint_set_on_throw : Option<"on-throw", "w">, Group<10>,
- Arg<"Boolean">, Desc<"Set the breakpoint on exception throW.">;
- def breakpoint_set_on_catch : Option<"on-catch", "h">, Group<10>,
- Arg<"Boolean">, Desc<"Set the breakpoint on exception catcH.">;
- def breakpoint_set_language : Option<"language", "L">, GroupRange<3, 8>,
- Arg<"Language">,
- Desc<"Specifies the Language to use when interpreting the breakpoint's "
- "expression (note: currently only implemented for setting breakpoints on "
- "identifiers). If not set the target.language setting is used.">;
- def breakpoint_set_skip_prologue : Option<"skip-prologue", "K">,
- Arg<"Boolean">, Groups<[1,3,4,5,6,7,8,12]>,
- Desc<"Skip the prologue if the breakpoint is at the beginning of a "
- "function. If not set the target.skip-prologue setting is used.">;
- def breakpoint_set_breakpoint_name : Option<"breakpoint-name", "N">,
- Arg<"BreakpointName">,
- Desc<"Adds this to the list of names for this breakpoint.">;
- def breakpoint_set_address_slide : Option<"address-slide", "R">,
- Arg<"Address">, Groups<[1,3,4,5,6,7,8,12]>,
- Desc<"Add the specified offset to whatever address(es) the breakpoint "
- "resolves to. At present this applies the offset directly as given, and "
- "doesn't try to align it to instruction boundaries.">;
- def breakpoint_set_move_to_nearest_code : Option<"move-to-nearest-code", "m">,
- Groups<[1,9,12]>, Arg<"Boolean">,
- Desc<"Move breakpoints to nearest code. If not set the "
- "target.move-to-nearest-code setting is used.">;
+ def breakpoint_set_fullname
+ : Option<"fullname", "F">,
+ Group<4>,
+ Arg<"FullName">,
+ Required,
+ Completion<"Symbol">,
+ Desc<"Set the breakpoint by ${F}ully qualified function names. For C++ "
+ "this "
+ "means namespaces and all arguments, and for Objective-C this "
+ "means a full "
+ "function prototype with class and selector. Can be repeated "
+ "multiple times"
+ " to make one breakpoint for multiple names.">;
+ def breakpoint_set_selector
+ : Option<"selector", "S">,
+ Group<5>,
+ Arg<"Selector">,
+ Required,
+ Desc<"Set the breakpoint by Objective-C ${s}elector name. Can be "
+ "repeated "
+ "multiple times to make one breakpoint for multiple Selectors.">;
+ def breakpoint_set_method
+ : Option<"method", "M">,
+ Group<6>,
+ Arg<"Method">,
+ ...
[truncated]
``````````
</details>
https://github.com/llvm/llvm-project/pull/155705
More information about the lldb-commits
mailing list