Index: include/lldb/lldb-enumerations.h =================================================================== --- include/lldb/lldb-enumerations.h +++ include/lldb/lldb-enumerations.h @@ -539,6 +539,7 @@ eArgTypeWatchpointID, eArgTypeWatchpointIDRange, eArgTypeWatchType, + eArgRawInput, eArgTypeLastArg // Always keep this entry as the last entry in this enumeration!! }; Index: source/Commands/CommandObjectApropos.cpp =================================================================== --- source/Commands/CommandObjectApropos.cpp +++ source/Commands/CommandObjectApropos.cpp @@ -28,7 +28,7 @@ CommandObjectApropos::CommandObjectApropos (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "apropos", - "Find a list of debugger commands related to a particular word/subject.", + "List debugger commands related to a word or subject.", nullptr) { CommandArgumentEntry arg; Index: source/Commands/CommandObjectBreakpoint.cpp =================================================================== --- source/Commands/CommandObjectBreakpoint.cpp +++ source/Commands/CommandObjectBreakpoint.cpp @@ -1297,15 +1297,15 @@ CommandObjectBreakpointDisable (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "breakpoint disable", - "Disable the specified breakpoint(s) without removing them. If none are specified, disable all breakpoints.", + "Disable the specified breakpoint(s) without deleting them. If none are specified, disable all breakpoints.", nullptr) { SetHelpLong( -"Disable the specified breakpoint(s) without removing them. \ +"Disable the specified breakpoint(s) without deleting them. \ If none are specified, disable all breakpoints." R"( )" "Note: disabling a breakpoint will cause none of its locations to be hit \ -regardless of whether they are enabled or disabled. After the sequence:" R"( +regardless of whether individual locations are enabled or disabled. After the sequence:" R"( (lldb) break disable 1 (lldb) break enable 1.1 @@ -1315,7 +1315,7 @@ (lldb) break disable 1.* (lldb) break enable 1.1 -)" "The first command disables all the locations of breakpoint 1, \ +)" "The first command disables all locations matching breakpoint 1, \ the second re-enables the first location." ); @@ -1566,7 +1566,7 @@ } else { - result.AppendError ("Invalid breakpoint id."); + result.AppendError ("Invalid breakpoint ID."); result.SetStatus (eReturnStatusFailed); } } @@ -1619,7 +1619,7 @@ CommandObjectBreakpointClear (CommandInterpreter &interpreter) : CommandObjectParsed (interpreter, "breakpoint clear", - "Clears a breakpoint or set of breakpoints in the executable.", + "Delete or disable breakpoints matching the specified source file and line.", "breakpoint clear "), m_options (interpreter) { @@ -1995,7 +1995,7 @@ g_breakpoint_name_options[] = { { LLDB_OPT_SET_1, false, "name", 'N', OptionParser::eRequiredArgument, nullptr, nullptr, 0, eArgTypeBreakpointName, "Specifies a breakpoint name to use."}, - { LLDB_OPT_SET_2, false, "breakpoint-id", 'B', OptionParser::eRequiredArgument, nullptr, nullptr, 0, eArgTypeBreakpointID, "Specify a breakpoint id to use."}, + { LLDB_OPT_SET_2, false, "breakpoint-id", 'B', OptionParser::eRequiredArgument, nullptr, nullptr, 0, eArgTypeBreakpointID, "Specify a breakpoint ID to use."}, { LLDB_OPT_SET_ALL, false, "dummy-breakpoints", 'D', OptionParser::eNoArgument, nullptr, nullptr, 0, eArgTypeNone, "Operate on Dummy breakpoints - i.e. breakpoints set before a file is provided, which prime new targets."}, }; @@ -2350,8 +2350,8 @@ CommandObjectBreakpointName (CommandInterpreter &interpreter) : CommandObjectMultiword(interpreter, "name", - "A set of commands to manage name tags for breakpoints", - "breakpoint name []") + "Commands to manage name tags for breakpoints", + "breakpoint name []") { CommandObjectSP add_command_object (new CommandObjectBreakpointNameAdd (interpreter)); CommandObjectSP delete_command_object (new CommandObjectBreakpointNameDelete (interpreter)); @@ -2373,8 +2373,8 @@ CommandObjectMultiwordBreakpoint::CommandObjectMultiwordBreakpoint (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "breakpoint", - "A set of commands for operating on breakpoints. Also see _regexp-break.", - "breakpoint []") + "Commands for operating on breakpoints (see 'help b' for shorthand.)", + "breakpoint []") { CommandObjectSP list_command_object (new CommandObjectBreakpointList (interpreter)); CommandObjectSP enable_command_object (new CommandObjectBreakpointEnable (interpreter)); @@ -2481,7 +2481,7 @@ else { i = valid_ids->GetSize() + 1; - result.AppendErrorWithFormat ("'%d' is not a currently valid breakpoint id.\n", cur_bp_id.GetBreakpointID()); + result.AppendErrorWithFormat ("'%d' is not a currently valid breakpoint ID.\n", cur_bp_id.GetBreakpointID()); result.SetStatus (eReturnStatusFailed); } } Index: source/Commands/CommandObjectBreakpointCommand.cpp =================================================================== --- source/Commands/CommandObjectBreakpointCommand.cpp +++ source/Commands/CommandObjectBreakpointCommand.cpp @@ -39,7 +39,7 @@ CommandObjectBreakpointCommandAdd (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "add", - "Add a set of commands to a breakpoint, to be executed whenever the breakpoint is hit." + "Add LLDB commands to a breakpoint, to be executed whenever the breakpoint is hit." " If no breakpoint is specified, adds the commands to the last created breakpoint.", nullptr), IOHandlerDelegateMultiline ("DONE", IOHandlerDelegate::Completion::LLDBCommand), @@ -858,7 +858,7 @@ CommandObjectBreakpointCommand::CommandObjectBreakpointCommand (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "command", - "A set of commands for adding, removing and examining bits of code to be executed when the breakpoint is hit (breakpoint 'commands').", + "Commands for adding, removing and listing LLDB commands executed when a breakpoint is hit.", "command [] ") { CommandObjectSP add_command_object (new CommandObjectBreakpointCommandAdd (interpreter)); Index: source/Commands/CommandObjectBugreport.cpp =================================================================== --- source/Commands/CommandObjectBugreport.cpp +++ source/Commands/CommandObjectBugreport.cpp @@ -133,7 +133,7 @@ CommandObjectMultiwordBugreport::CommandObjectMultiwordBugreport(CommandInterpreter &interpreter) : CommandObjectMultiword(interpreter, "bugreport", - "Set of commands for creating domain specific bugreports.", + "Commands for creating domain-specific bug reports.", "bugreport []") { Index: source/Commands/CommandObjectCommands.cpp =================================================================== --- source/Commands/CommandObjectCommands.cpp +++ source/Commands/CommandObjectCommands.cpp @@ -238,7 +238,7 @@ CommandObjectCommandsSource(CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "command source", - "Read in debugger commands from the file and execute them.", + "Read and execute LLDB commands from the file .", nullptr), m_options (interpreter) { @@ -511,7 +511,7 @@ CommandObjectCommandsAlias (CommandInterpreter &interpreter) : CommandObjectRaw(interpreter, "command alias", - "Allow users to define their own debugger command abbreviations.", + "Define a custom command in terms of an existing command.", nullptr), m_option_group(interpreter), m_command_options() @@ -927,7 +927,7 @@ CommandObjectCommandsUnalias (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "command unalias", - "Allow the user to remove/delete a user-defined command abbreviation.", + "Delete one or more custom commands defined by 'command alias'.", nullptr) { CommandArgumentEntry arg; @@ -1017,7 +1017,7 @@ CommandObjectCommandsDelete (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "command delete", - "Allow the user to delete user-defined regular expression, python or multi-word commands.", + "Delete one or more custom commands defined by 'command regex'.", nullptr) { CommandArgumentEntry arg; @@ -1075,7 +1075,7 @@ } else { - result.AppendErrorWithFormat ("must call '%s' with one or more valid user defined regular expression, python or multi-word command names", GetCommandName ()); + result.AppendErrorWithFormat ("must call '%s' with one or more valid user defined regular expression command names", GetCommandName ()); result.SetStatus (eReturnStatusFailed); } @@ -1096,7 +1096,7 @@ CommandObjectCommandsAddRegex (CommandInterpreter &interpreter) : CommandObjectParsed (interpreter, "command regex", - "Allow the user to create a regular expression command.", + "Define a custom command in terms of existing commands by matching regular expressions.", "command regex [s/// ...]"), IOHandlerDelegateMultiline ("", IOHandlerDelegate::Completion::LLDBCommand), m_options (interpreter) @@ -2269,7 +2269,7 @@ CommandObjectMultiwordCommandsScript (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "command script", - "A set of commands for managing or customizing script commands.", + "Commands for managing custom commands implemented by by interpreter scripts.", "command script []") { LoadSubCommand ("add", CommandObjectSP (new CommandObjectCommandsScriptAdd (interpreter))); @@ -2291,7 +2291,7 @@ CommandObjectMultiwordCommands::CommandObjectMultiwordCommands (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "command", - "A set of commands for managing or customizing the debugger commands.", + "Commands for managing custom LLDB commands.", "command []") { LoadSubCommand ("source", CommandObjectSP (new CommandObjectCommandsSource (interpreter))); Index: source/Commands/CommandObjectDisassemble.cpp =================================================================== --- source/Commands/CommandObjectDisassemble.cpp +++ source/Commands/CommandObjectDisassemble.cpp @@ -260,7 +260,7 @@ CommandObjectDisassemble::CommandObjectDisassemble (CommandInterpreter &interpreter) : CommandObjectParsed (interpreter, "disassemble", - "Disassemble bytes in the current function, or elsewhere in the executable program as specified by the user.", + "Disassemble specified instructions in the current target. Defaults to the current function for the current thread and stack frame.", "disassemble []"), m_options (interpreter) { Index: source/Commands/CommandObjectExpression.cpp =================================================================== --- source/Commands/CommandObjectExpression.cpp +++ source/Commands/CommandObjectExpression.cpp @@ -222,7 +222,7 @@ CommandObjectExpression::CommandObjectExpression (CommandInterpreter &interpreter) : CommandObjectRaw(interpreter, "expression", - "Evaluate an expression in the current program context, using user defined variables and variables currently in scope.", + "Evaluate an expression on the current thread. Displays any returned value with LLDB's default formatting.", nullptr, eCommandProcessMustBePaused | eCommandTryTargetAPILock), IOHandlerDelegate (IOHandlerDelegate::Completion::Expression), Index: source/Commands/CommandObjectFrame.cpp =================================================================== --- source/Commands/CommandObjectFrame.cpp +++ source/Commands/CommandObjectFrame.cpp @@ -61,7 +61,7 @@ CommandObjectFrameInfo (CommandInterpreter &interpreter) : CommandObjectParsed (interpreter, "frame info", - "List information about the currently selected frame in the current thread.", + "List information about the current stack frame in the current thread.", "frame info", eCommandRequiresFrame | eCommandTryTargetAPILock | @@ -145,7 +145,7 @@ CommandObjectFrameSelect (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "frame select", - "Select a frame by index from within the current thread and make it the current frame.", + "Select the current stack frame by index from within the current thread (see 'thread backtrace'.)", nullptr, eCommandRequiresThread | eCommandTryTargetAPILock | @@ -199,7 +199,7 @@ if (frame_idx == 0) { //If you are already at the bottom of the stack, then just warn and don't reset the frame. - result.AppendError("Already at the bottom of the stack"); + result.AppendError("Already at the bottom of the stack."); result.SetStatus(eReturnStatusFailed); return false; } @@ -219,7 +219,7 @@ if (frame_idx == num_frames - 1) { //If we are already at the top of the stack, just warn and don't reset the frame. - result.AppendError("Already at the top of the stack"); + result.AppendError("Already at the top of the stack."); result.SetStatus(eReturnStatusFailed); return false; } @@ -237,7 +237,7 @@ frame_idx = StringConvert::ToUInt32 (frame_idx_cstr, UINT32_MAX, 0, &success); if (!success) { - result.AppendErrorWithFormat ("invalid frame index argument '%s'", frame_idx_cstr); + result.AppendErrorWithFormat ("invalid frame index argument '%s'.", frame_idx_cstr); result.SetStatus (eReturnStatusFailed); return false; } @@ -295,10 +295,9 @@ CommandObjectFrameVariable (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "frame variable", - "Show frame variables. All argument and local variables " - "that are in scope will be shown when no arguments are given. " - "If any arguments are specified, they can be names of " - "argument, local, file static and file global variables. " + "Show variables related to a stack frame. Defaults to all " + "arguments and local variables in scope. Names of argument, " + "local, file static and file global variables can be specified. " "Children of aggregate variables can be specified such as " "'var->child.x'.", nullptr, @@ -495,7 +494,7 @@ if (error_cstr) result.GetErrorStream().Printf("error: %s\n", error_cstr); else - result.GetErrorStream().Printf ("error: unable to find any variable expression path that matches '%s'\n", name_cstr); + result.GetErrorStream().Printf ("error: unable to find any variable expression path that matches '%s'.\n", name_cstr); } } } @@ -615,7 +614,7 @@ CommandObjectMultiwordFrame::CommandObjectMultiwordFrame (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "frame", - "A set of commands for operating on the current thread's frames.", + "Commands for selecting and examing the current thread's stack frames.", "frame []") { LoadSubCommand ("info", CommandObjectSP (new CommandObjectFrameInfo (interpreter))); Index: source/Commands/CommandObjectHelp.cpp =================================================================== --- source/Commands/CommandObjectHelp.cpp +++ source/Commands/CommandObjectHelp.cpp @@ -52,7 +52,7 @@ CommandObjectHelp::CommandObjectHelp (CommandInterpreter &interpreter) : CommandObjectParsed (interpreter, "help", - "Show a list of all debugger commands, or give details about specific commands.", + "Show a list of all debugger commands, or give details about a specific command.", "help []"), m_options (interpreter) { CommandArgumentEntry arg; Index: source/Commands/CommandObjectLanguage.h =================================================================== --- source/Commands/CommandObjectLanguage.h +++ source/Commands/CommandObjectLanguage.h @@ -27,9 +27,6 @@ ~CommandObjectLanguage() override; - void - GenerateHelpText(Stream &output_stream) override; - protected: bool DoExecute (Args& command, CommandReturnObject &result); Index: source/Commands/CommandObjectLanguage.cpp =================================================================== --- source/Commands/CommandObjectLanguage.cpp +++ source/Commands/CommandObjectLanguage.cpp @@ -23,7 +23,7 @@ CommandObjectLanguage::CommandObjectLanguage (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "language", - "A set of commands for managing language-specific functionality.'.", + "Commands for interacting with language runtimes.", "language []" ) { @@ -31,11 +31,6 @@ LanguageRuntime::InitializeCommands(this); } -void -CommandObjectLanguage::GenerateHelpText (Stream &output_stream) { - CommandObjectMultiword::GenerateHelpText(output_stream); -} - CommandObjectLanguage::~CommandObjectLanguage () { } Index: source/Commands/CommandObjectLog.cpp =================================================================== --- source/Commands/CommandObjectLog.cpp +++ source/Commands/CommandObjectLog.cpp @@ -454,8 +454,8 @@ CommandObjectLog::CommandObjectLog(CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "log", - "A set of commands for operating on logs.", - "log []") + "Commands controlling LLDB internal logging.", + "log []") { LoadSubCommand ("enable", CommandObjectSP (new CommandObjectLogEnable (interpreter))); LoadSubCommand ("disable", CommandObjectSP (new CommandObjectLogDisable (interpreter))); Index: source/Commands/CommandObjectMemory.cpp =================================================================== --- source/Commands/CommandObjectMemory.cpp +++ source/Commands/CommandObjectMemory.cpp @@ -205,8 +205,8 @@ if (byte_size_option_set) { if (byte_size_value > 1) - error.SetErrorStringWithFormat ("display format (bytes/bytes with ascii) conflicts with the specified byte size %" PRIu64 "\n" - "\tconsider using a different display format or don't specify the byte size", + error.SetErrorStringWithFormat ("display format (bytes/bytes with ASCII) conflicts with the specified byte size %" PRIu64 "\n" + "\tconsider using a different display format or don't specify the byte size.", byte_size_value.GetCurrentValue()); } else @@ -321,7 +321,7 @@ CommandObjectMemoryRead (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "memory read", - "Read from the memory of the process being debugged.", + "Read from the memory of the current target process.", nullptr, eCommandRequiresTarget | eCommandProcessMustBePaused), m_option_group (interpreter), @@ -1045,7 +1045,7 @@ CommandObjectMemoryFind (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "memory find", - "Find a value in the memory of the process being debugged.", + "Find a value in the memory of the current target process.", nullptr, eCommandRequiresProcess | eCommandProcessMustBeLaunched), m_option_group (interpreter), @@ -1328,7 +1328,7 @@ CommandObjectMemoryWrite (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "memory write", - "Write to the memory of the process being debugged.", + "Write to the memory of the current target process.", nullptr, eCommandRequiresProcess | eCommandProcessMustBeLaunched), m_option_group (interpreter), @@ -1690,7 +1690,7 @@ CommandObjectMemoryHistory (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "memory history", - "Prints out the recorded stack traces for allocation/deallocation of a memory address.", + "Print recorded stack traces for allocation/deallocation events associated with an address.", nullptr, eCommandRequiresTarget | eCommandRequiresProcess | eCommandProcessMustBePaused | eCommandProcessMustBeLaunched) @@ -1778,7 +1778,7 @@ public: CommandObjectMemoryRegion(CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "memory region", - "Get information on a memory region that contains an address in the current process.", + "Get information on the memory region containing an address in the current target process.", "memory region ADDR", eCommandRequiresProcess | eCommandTryTargetAPILock | eCommandProcessMustBeLaunched), m_prev_end_addr(LLDB_INVALID_ADDRESS) @@ -1878,7 +1878,7 @@ CommandObjectMemory::CommandObjectMemory (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "memory", - "A set of commands for operating on memory.", + "Commands for operating on memory in the current target process.", "memory []") { LoadSubCommand("find", CommandObjectSP(new CommandObjectMemoryFind(interpreter))); Index: source/Commands/CommandObjectMultiword.cpp =================================================================== --- source/Commands/CommandObjectMultiword.cpp +++ source/Commands/CommandObjectMultiword.cpp @@ -178,7 +178,8 @@ // First time through here, generate the help text for the object and // push it to the return result object as well - output_stream.PutCString ("The following subcommands are supported:\n\n"); + CommandObject::GenerateHelpText(output_stream); + output_stream.PutCString ("\nThe following subcommands are supported:\n\n"); CommandMap::iterator pos; uint32_t max_len = FindLongestCommandWord (m_subcommand_dict); @@ -193,7 +194,7 @@ if (pos->second->WantsRawCommandString ()) { std::string help_text (pos->second->GetHelp()); - help_text.append (" This command takes 'raw' input (no need to quote stuff)."); + help_text.append (" Expects 'raw' input (see 'help raw-input'.)"); m_interpreter.OutputFormattedHelpText (output_stream, indented_command.c_str(), "--", Index: source/Commands/CommandObjectPlatform.cpp =================================================================== --- source/Commands/CommandObjectPlatform.cpp +++ source/Commands/CommandObjectPlatform.cpp @@ -332,7 +332,7 @@ CommandObjectPlatformStatus (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "platform status", - "Display status for the currently selected platform.", + "Display status for the current platform.", nullptr, 0) { @@ -379,7 +379,7 @@ CommandObjectPlatformConnect (CommandInterpreter &interpreter) : CommandObjectParsed (interpreter, "platform connect", - "Connect a platform by name to be the currently selected platform.", + "Select the current platform by providing a connection URL.", "platform connect ", 0) { @@ -447,7 +447,7 @@ CommandObjectPlatformDisconnect (CommandInterpreter &interpreter) : CommandObjectParsed (interpreter, "platform disconnect", - "Disconnect a platform by name to be the currently selected platform.", + "Disconnect from the current platform.", "platform disconnect", 0) { @@ -998,7 +998,7 @@ CommandObjectPlatformFile (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "platform file", - "A set of commands to manage file access through a platform", + "Commands to access files on the current platform.", "platform file [open|close|read|write] ...") { LoadSubCommand ("open", CommandObjectSP (new CommandObjectPlatformFOpen (interpreter))); @@ -1933,7 +1933,7 @@ CommandObjectPlatformProcess (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "platform process", - "A set of commands to query, launch and attach to platform processes", + "Commands to query, launch and attach to processes on the current platform.", "platform process [attach|launch|list] ...") { LoadSubCommand ("attach", CommandObjectSP (new CommandObjectPlatformProcessAttach (interpreter))); @@ -2020,7 +2020,7 @@ CommandObjectPlatformShell (CommandInterpreter &interpreter) : CommandObjectRaw (interpreter, "platform shell", - "Run a shell command on the selected platform.", + "Run a shell command on the current platform.", "platform shell ", 0), m_options(interpreter) @@ -2195,7 +2195,7 @@ CommandObjectPlatform::CommandObjectPlatform(CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "platform", - "A set of commands to manage and create platforms.", + "Commands to manage and create platforms.", "platform [connect|disconnect|info|list|status|select] ...") { LoadSubCommand ("select", CommandObjectSP (new CommandObjectPlatformSelect (interpreter))); Index: source/Commands/CommandObjectPlugin.cpp =================================================================== --- source/Commands/CommandObjectPlugin.cpp +++ source/Commands/CommandObjectPlugin.cpp @@ -102,7 +102,7 @@ CommandObjectPlugin::CommandObjectPlugin (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "plugin", - "A set of commands for managing or customizing plugin commands.", + "Commands for managing LLDB plugins.", "plugin []") { LoadSubCommand ("load", CommandObjectSP (new CommandObjectPluginLoad (interpreter))); Index: source/Commands/CommandObjectProcess.cpp =================================================================== --- source/Commands/CommandObjectProcess.cpp +++ source/Commands/CommandObjectProcess.cpp @@ -878,7 +878,7 @@ CommandObjectProcessDetach (CommandInterpreter &interpreter) : CommandObjectParsed (interpreter, "process detach", - "Detach from the current process being debugged.", + "Detach from the current target process.", "process detach", eCommandRequiresProcess | eCommandTryTargetAPILock | @@ -1078,7 +1078,7 @@ CommandObjectProcessPlugin (CommandInterpreter &interpreter) : CommandObjectProxy (interpreter, "process plugin", - "Send a custom command to the current process plug-in.", + "Send a custom command to the current target process plug-in.", "process plugin ", 0) { @@ -1305,7 +1305,7 @@ CommandObjectProcessSignal (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "process signal", - "Send a UNIX signal to the current process being debugged.", + "Send a UNIX signal to the current target process.", nullptr, eCommandRequiresProcess | eCommandTryTargetAPILock) { @@ -1381,7 +1381,7 @@ CommandObjectProcessInterrupt (CommandInterpreter &interpreter) : CommandObjectParsed (interpreter, "process interrupt", - "Interrupt the current process being debugged.", + "Interrupt the current target process.", "process interrupt", eCommandRequiresProcess | eCommandTryTargetAPILock | @@ -1439,7 +1439,7 @@ CommandObjectProcessKill (CommandInterpreter &interpreter) : CommandObjectParsed (interpreter, "process kill", - "Terminate the current process being debugged.", + "Terminate the current target process.", "process kill", eCommandRequiresProcess | eCommandTryTargetAPILock | @@ -1558,7 +1558,7 @@ CommandObjectProcessStatus (CommandInterpreter &interpreter) : CommandObjectParsed (interpreter, "process status", - "Show the current status and location of executing process.", + "Show status and stop location for the current target process.", "process status", eCommandRequiresProcess | eCommandTryTargetAPILock) { @@ -1658,7 +1658,7 @@ CommandObjectProcessHandle (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "process handle", - "Show or update what the process and debugger should do with various signals received from the OS.", + "Manage LLDB handling of OS signals for the current target process. Defaults to showing current policy.", nullptr), m_options (interpreter) { @@ -1892,7 +1892,7 @@ CommandObjectMultiwordProcess::CommandObjectMultiwordProcess (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "process", - "A set of commands for operating on a process.", + "Commands for interacting with processes on the current platform.", "process []") { LoadSubCommand ("attach", CommandObjectSP (new CommandObjectProcessAttach (interpreter))); Index: source/Commands/CommandObjectQuit.cpp =================================================================== --- source/Commands/CommandObjectQuit.cpp +++ source/Commands/CommandObjectQuit.cpp @@ -25,7 +25,7 @@ //------------------------------------------------------------------------- CommandObjectQuit::CommandObjectQuit (CommandInterpreter &interpreter) : - CommandObjectParsed (interpreter, "quit", "Quit out of the LLDB debugger.", "quit") + CommandObjectParsed (interpreter, "quit", "Quit the LLDB debugger.", "quit") { } Index: source/Commands/CommandObjectRegister.cpp =================================================================== --- source/Commands/CommandObjectRegister.cpp +++ source/Commands/CommandObjectRegister.cpp @@ -470,7 +470,7 @@ CommandObjectRegister::CommandObjectRegister(CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "register", - "A set of commands to access thread registers.", + "Commands to access registers for the current thread and stack frame.", "register [read|write] ...") { LoadSubCommand ("read", CommandObjectSP (new CommandObjectRegisterRead (interpreter))); Index: source/Commands/CommandObjectSettings.cpp =================================================================== --- source/Commands/CommandObjectSettings.cpp +++ source/Commands/CommandObjectSettings.cpp @@ -33,7 +33,7 @@ CommandObjectSettingsSet (CommandInterpreter &interpreter) : CommandObjectRaw(interpreter, "settings set", - "Set or change the value of a single debugger setting variable.", + "Set the value of the specified debugger setting.", nullptr), m_options (interpreter) { @@ -301,7 +301,7 @@ CommandObjectSettingsShow (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "settings show", - "Show the specified internal debugger setting variable and its value, or show all the currently set variables and their values, if nothing is specified.", + "Show matching debugger settings and their current values. Defaults to showing all settings.", nullptr) { CommandArgumentEntry arg1; @@ -387,7 +387,7 @@ CommandObjectSettingsList (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "settings list", - "List and describe all the internal debugger settings variables that are available to the user to 'set' or 'show', or describe a particular variable or set of variables (by specifying the variable name or a common prefix).", + "List and describe matching debugger settings. Defaults to all listing all settings.", nullptr) { CommandArgumentEntry arg; @@ -482,7 +482,7 @@ CommandObjectSettingsRemove (CommandInterpreter &interpreter) : CommandObjectRaw(interpreter, "settings remove", - "Remove the specified element from an array or dictionary settings variable.", + "Remove a value from a setting, specified by array index or dictionary key.", nullptr) { CommandArgumentEntry arg1; @@ -601,7 +601,7 @@ CommandObjectSettingsReplace (CommandInterpreter &interpreter) : CommandObjectRaw(interpreter, "settings replace", - "Replace the specified element from an internal debugger settings array or dictionary variable with the specified new value.", + "Replace the debugger setting value specified by array index or dictionary key.", nullptr) { CommandArgumentEntry arg1; @@ -726,7 +726,7 @@ CommandObjectSettingsInsertBefore (CommandInterpreter &interpreter) : CommandObjectRaw(interpreter, "settings insert-before", - "Insert value(s) into an internal debugger settings array variable, immediately before the specified element.", + "Insert one or more values into an debugger array setting immediately before the specified element index.", nullptr) { CommandArgumentEntry arg1; @@ -849,7 +849,7 @@ CommandObjectSettingsInsertAfter (CommandInterpreter &interpreter) : CommandObjectRaw(interpreter, "settings insert-after", - "Insert value(s) into an internal debugger settings array variable, immediately after the specified element.", + "Insert one or more values into a debugger array settings after the specified element index.", nullptr) { CommandArgumentEntry arg1; @@ -972,7 +972,7 @@ CommandObjectSettingsAppend (CommandInterpreter &interpreter) : CommandObjectRaw(interpreter, "settings append", - "Append a new value to the end of an internal debugger settings array, dictionary or string variable.", + "Append one or more values to a debugger array, dictionary, or string setting.", nullptr) { CommandArgumentEntry arg1; @@ -1087,7 +1087,7 @@ CommandObjectSettingsClear (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "settings clear", - "Erase all the contents of an internal debugger settings variables; this is only valid for variables with clearable types, i.e. strings, arrays or dictionaries.", + "Clear a debugger setting array, dictionary, or string.", nullptr) { CommandArgumentEntry arg; @@ -1176,8 +1176,8 @@ CommandObjectMultiwordSettings::CommandObjectMultiwordSettings (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "settings", - "A set of commands for manipulating internal settable debugger variables.", - "settings []") + "Commands for managing LLDB settings.", + "settings []") { LoadSubCommand ("set", CommandObjectSP (new CommandObjectSettingsSet (interpreter))); LoadSubCommand ("show", CommandObjectSP (new CommandObjectSettingsShow (interpreter))); Index: source/Commands/CommandObjectSource.cpp =================================================================== --- source/Commands/CommandObjectSource.cpp +++ source/Commands/CommandObjectSource.cpp @@ -135,8 +135,7 @@ CommandObjectSourceInfo (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "source info", - "Display source line information (as specified) based " - "on the current executable's debug info.", + "Display source line information for the current target process. Defaults to instruction pointer in current stack frame.", nullptr, eCommandRequiresTarget), m_options(interpreter) @@ -826,7 +825,7 @@ CommandObjectSourceList(CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "source list", - "Display source code (as specified) based on the current executable's debug info.", + "Display source code for the current target process as specified by options.", nullptr, eCommandRequiresTarget), m_options (interpreter) @@ -1485,7 +1484,7 @@ CommandObjectMultiwordSource::CommandObjectMultiwordSource (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "source", - "A set of commands for accessing source file information", + "Commands for examining source code described by debug information for the current target process.", "source []") { LoadSubCommand ("info", CommandObjectSP (new CommandObjectSourceInfo (interpreter))); Index: source/Commands/CommandObjectTarget.cpp =================================================================== --- source/Commands/CommandObjectTarget.cpp +++ source/Commands/CommandObjectTarget.cpp @@ -727,7 +727,7 @@ CommandObjectTargetVariable (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "target variable", - "Read global variable(s) prior to, or while running your binary.", + "Read global variables for the current target, before or while running a process.", nullptr, eCommandRequiresTarget), m_option_group (interpreter), @@ -2686,7 +2686,7 @@ CommandObjectTargetModulesDump(CommandInterpreter &interpreter) : CommandObjectMultiword( interpreter, "target modules dump", - "A set of commands for dumping information about one or more target modules.", + "Commands for dumping information about one or more target modules.", "target modules dump [headers|symtab|sections|symfile|line-table] [ ...]") { LoadSubCommand("objfile", CommandObjectSP(new CommandObjectTargetModulesDumpObjfile(interpreter))); @@ -4339,7 +4339,7 @@ CommandObjectTargetModulesImageSearchPaths (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "target modules search-paths", - "A set of commands for operating on debugger target image search paths.", + "Commands for operating on debugger target image search paths.", "target modules search-paths []") { LoadSubCommand ("add", CommandObjectSP (new CommandObjectTargetModulesSearchPathsAdd (interpreter))); @@ -4367,7 +4367,7 @@ CommandObjectTargetModules(CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "target modules", - "A set of commands for accessing information for one or more target modules.", + "Commands for accessing information for one or more target modules.", "target modules ...") { LoadSubCommand ("add", CommandObjectSP (new CommandObjectTargetModulesAdd (interpreter))); @@ -4825,7 +4825,7 @@ CommandObjectTargetSymbols(CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "target symbols", - "A set of commands for adding and managing debug symbol files.", + "Commands for adding and managing debug symbol files.", "target symbols ...") { LoadSubCommand ("add", CommandObjectSP (new CommandObjectTargetSymbolsAdd (interpreter))); @@ -5406,7 +5406,7 @@ CommandObjectMultiwordTargetStopHooks (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "target stop-hook", - "A set of commands for operating on debugger target stop-hooks.", + "Commands for operating on debugger target stop-hooks.", "target stop-hook []") { LoadSubCommand ("add", CommandObjectSP (new CommandObjectTargetStopHookAdd (interpreter))); @@ -5436,7 +5436,7 @@ CommandObjectMultiwordTarget::CommandObjectMultiwordTarget (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "target", - "A set of commands for operating on debugger targets.", + "Commands for operating on debugger targets.", "target []") { LoadSubCommand ("create", CommandObjectSP (new CommandObjectTargetCreate (interpreter))); Index: source/Commands/CommandObjectThread.cpp =================================================================== --- source/Commands/CommandObjectThread.cpp +++ source/Commands/CommandObjectThread.cpp @@ -232,7 +232,7 @@ CommandObjectThreadBacktrace (CommandInterpreter &interpreter) : CommandObjectIterateOverThreads(interpreter, "thread backtrace", - "Show the stack for one or more threads. If no threads are specified, show the currently selected thread. Use the thread-index \"all\" to see all threads.", + "Show thread call stacks. Defaults to the current thread, thread indexes can be specified as arguments. Use the thread-index \"all\" to see all threads.", nullptr, eCommandRequiresProcess | eCommandRequiresThread | @@ -807,7 +807,7 @@ CommandObjectThreadContinue (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "thread continue", - "Continue execution of one or more threads in an active process.", + "Continue execution of the current target process. One or more threads may be specified, by default all threads continue.", nullptr, eCommandRequiresThread | eCommandTryTargetAPILock | @@ -1104,7 +1104,7 @@ CommandObjectThreadUntil (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "thread until", - "Run the current or specified thread until it reaches a given line number or address or leaves the current function.", + "Continue until a line number or address is reached by the current or specified thread. Stops when returning from the current function as a safety measure.", nullptr, eCommandRequiresThread | eCommandTryTargetAPILock | @@ -1369,7 +1369,7 @@ CommandObjectThreadSelect (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "thread select", - "Select a thread as the currently active thread.", + "Change the currently selected thread.", nullptr, eCommandRequiresProcess | eCommandTryTargetAPILock | @@ -1437,7 +1437,7 @@ CommandObjectThreadList (CommandInterpreter &interpreter): CommandObjectParsed (interpreter, "thread list", - "Show a summary of all current threads in a process.", + "Show a summary of each thread in the current target process.", "thread list", eCommandRequiresProcess | eCommandTryTargetAPILock | @@ -1531,7 +1531,7 @@ CommandObjectThreadInfo (CommandInterpreter &interpreter) : CommandObjectIterateOverThreads (interpreter, "thread info", - "Show an extended summary of information about thread(s) in a process.", + "Show an extended summary of one or more threads. Defaults to the current thread.", "thread info", eCommandRequiresProcess | eCommandTryTargetAPILock | @@ -1656,8 +1656,9 @@ CommandObjectThreadReturn (CommandInterpreter &interpreter) : CommandObjectRaw (interpreter, "thread return", - "Return from the currently selected frame, short-circuiting execution of the frames below it, with an optional return value," - " or with the -x option from the innermost function evaluation.", + "Prematurely return from a stack frame, short-circuiting execution of newer frames " + "and optionally yielding a specified value. Defaults to the exiting the current stack " + "frame.", "thread return", eCommandRequiresFrame | eCommandTryTargetAPILock | @@ -2047,7 +2048,7 @@ CommandObjectIterateOverThreads(interpreter, "thread plan list", "Show thread plans for one or more threads. If no threads are specified, show the " - "currently selected thread. Use the thread-index \"all\" to see all threads.", + "current thread. Use the thread-index \"all\" to see all threads.", nullptr, eCommandRequiresProcess | eCommandRequiresThread | @@ -2106,9 +2107,8 @@ CommandObjectThreadPlanDiscard (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "thread plan discard", - "Discards thread plans up to and including the plan passed as the command argument." - "Only user visible plans can be discarded, use the index from \"thread plan list\"" - " without the \"-i\" argument.", + "Discards thread plans up to and including the specified index (see 'thread plan list'.) " + "Only user visible plans can be discarded.", nullptr, eCommandRequiresProcess | eCommandRequiresThread | @@ -2186,7 +2186,7 @@ CommandObjectMultiwordThreadPlan(CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "plan", - "A set of subcommands for accessing the thread plans controlling execution control on one or more threads.", + "Commands for managing thread plans that control execution.", "thread plan [ []") { LoadSubCommand ("backtrace", CommandObjectSP (new CommandObjectThreadBacktrace (interpreter))); @@ -2217,7 +2217,7 @@ LoadSubCommand ("step-in", CommandObjectSP (new CommandObjectThreadStepWithTypeAndScope ( interpreter, "thread step-in", - "Source level single step in specified thread (current thread, if none specified).", + "Source level single step, stepping into calls. Defaults to current thread unless specified.", nullptr, eStepTypeInto, eStepScopeSource))); @@ -2225,7 +2225,7 @@ LoadSubCommand ("step-out", CommandObjectSP (new CommandObjectThreadStepWithTypeAndScope ( interpreter, "thread step-out", - "Finish executing the function of the currently selected frame and return to its call site in specified thread (current thread, if none specified).", + "Finish executing the current stack frame and stop after returning. Defaults to current thread unless specified.", nullptr, eStepTypeOut, eStepScopeSource))); @@ -2233,7 +2233,7 @@ LoadSubCommand ("step-over", CommandObjectSP (new CommandObjectThreadStepWithTypeAndScope ( interpreter, "thread step-over", - "Source level single step in specified thread (current thread, if none specified), stepping over calls.", + "Source level single step, stepping over calls. Defaults to current thread unless specified.", nullptr, eStepTypeOver, eStepScopeSource))); @@ -2241,7 +2241,7 @@ LoadSubCommand ("step-inst", CommandObjectSP (new CommandObjectThreadStepWithTypeAndScope ( interpreter, "thread step-inst", - "Single step one instruction in specified thread (current thread, if none specified).", + "Instruction level single step, stepping into calls. Defaults to current thread unless specified.", nullptr, eStepTypeTrace, eStepScopeInstruction))); @@ -2249,7 +2249,7 @@ LoadSubCommand ("step-inst-over", CommandObjectSP (new CommandObjectThreadStepWithTypeAndScope ( interpreter, "thread step-inst-over", - "Single step one instruction in specified thread (current thread, if none specified), stepping over calls.", + "Instruction level single step, stepping over calls. Defaults to current thread unless specified.", nullptr, eStepTypeTraceOver, eStepScopeInstruction))); Index: source/Commands/CommandObjectType.cpp =================================================================== --- source/Commands/CommandObjectType.cpp +++ source/Commands/CommandObjectType.cpp @@ -3574,7 +3574,7 @@ CommandObjectTypeFormat (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "type format", - "A set of commands for editing variable value display options", + "Commands for customizing value display formats.", "type format [] ") { LoadSubCommand ("add", CommandObjectSP (new CommandObjectTypeFormatAdd (interpreter))); @@ -3599,7 +3599,7 @@ CommandObjectTypeSynth (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "type synthetic", - "A set of commands for operating on synthetic type representations", + "Commands for operating on synthetic type representations.", "type synthetic [] ") { LoadSubCommand ("add", CommandObjectSP (new CommandObjectTypeSynthAdd (interpreter))); @@ -3624,7 +3624,7 @@ CommandObjectTypeFilter (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "type filter", - "A set of commands for operating on type filters", + "Commands for operating on type filters.", "type synthetic [] ") { LoadSubCommand ("add", CommandObjectSP (new CommandObjectTypeFilterAdd (interpreter))); @@ -3642,7 +3642,7 @@ CommandObjectTypeCategory (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "type category", - "A set of commands for operating on categories", + "Commands for operating on type categories.", "type category [] ") { LoadSubCommand ("define", CommandObjectSP (new CommandObjectTypeCategoryDefine (interpreter))); @@ -3661,7 +3661,7 @@ CommandObjectTypeSummary (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "type summary", - "A set of commands for editing variable summary display options", + "Commands for editing variable summary display options.", "type summary [] ") { LoadSubCommand ("add", CommandObjectSP (new CommandObjectTypeSummaryAdd (interpreter))); @@ -3685,7 +3685,7 @@ CommandObjectType::CommandObjectType (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "type", - "A set of commands for operating on the type system", + "Commands for operating on the type system.", "type []") { LoadSubCommand ("category", CommandObjectSP (new CommandObjectTypeCategory (interpreter))); Index: source/Commands/CommandObjectVersion.cpp =================================================================== --- source/Commands/CommandObjectVersion.cpp +++ source/Commands/CommandObjectVersion.cpp @@ -25,7 +25,7 @@ //------------------------------------------------------------------------- CommandObjectVersion::CommandObjectVersion (CommandInterpreter &interpreter) : - CommandObjectParsed (interpreter, "version", "Show version of LLDB debugger.", "version") + CommandObjectParsed (interpreter, "version", "Show the LLDB debugger version.", "version") { } Index: source/Commands/CommandObjectWatchpoint.cpp =================================================================== --- source/Commands/CommandObjectWatchpoint.cpp +++ source/Commands/CommandObjectWatchpoint.cpp @@ -1311,7 +1311,7 @@ CommandObjectWatchpointSet (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "watchpoint set", - "A set of commands for setting a watchpoint.", + "Commands for setting a watchpoint.", "watchpoint set []") { @@ -1330,8 +1330,8 @@ CommandObjectMultiwordWatchpoint::CommandObjectMultiwordWatchpoint(CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "watchpoint", - "A set of commands for operating on watchpoints.", - "watchpoint []") + "Commands for operating on watchpoints.", + "watchpoint []") { CommandObjectSP list_command_object (new CommandObjectWatchpointList (interpreter)); CommandObjectSP enable_command_object (new CommandObjectWatchpointEnable (interpreter)); Index: source/Commands/CommandObjectWatchpointCommand.cpp =================================================================== --- source/Commands/CommandObjectWatchpointCommand.cpp +++ source/Commands/CommandObjectWatchpointCommand.cpp @@ -39,7 +39,7 @@ CommandObjectWatchpointCommandAdd (CommandInterpreter &interpreter) : CommandObjectParsed(interpreter, "add", - "Add a set of commands to a watchpoint, to be executed whenever the watchpoint is hit.", + "Add a set of LLDB commands to a watchpoint, to be executed whenever the watchpoint is hit.", nullptr), IOHandlerDelegateMultiline("DONE", IOHandlerDelegate::Completion::LLDBCommand), m_options (interpreter) @@ -711,7 +711,7 @@ CommandObjectWatchpointCommand::CommandObjectWatchpointCommand (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "command", - "A set of commands for adding, removing and examining bits of code to be executed when the watchpoint is hit (watchpoint 'commmands').", + "Commands for adding, removing and examining LLDB commands executed when the watchpoint is hit (watchpoint 'commmands').", "command [] ") { CommandObjectSP add_command_object (new CommandObjectWatchpointCommandAdd (interpreter)); Index: source/Interpreter/CommandInterpreter.cpp =================================================================== --- source/Interpreter/CommandInterpreter.cpp +++ source/Interpreter/CommandInterpreter.cpp @@ -345,7 +345,7 @@ AddAlias ("call", cmd_obj_sp, "--")->SetHelpLong(""); if (auto po = AddAlias ("po", cmd_obj_sp, "-O --")) { - po->SetHelp("Evaluate an expression in the current program context, using user defined variables and variables currently in scope, and display the result of evaluation in a language-specific manner."); + po->SetHelp("Evaluate an expression on the current thread. Displays any returned value with formatting controlled by the type's author."); po->SetHelpLong(""); } AddAlias("parray", cmd_obj_sp, "--element-count %1 --")->SetHelpLong(""); @@ -468,14 +468,23 @@ std::unique_ptr break_regex_cmd_ap(new CommandObjectRegexCommand (*this, "_regexp-break", - "Set a breakpoint using a regular expression to specify the location, where is in decimal and
is in hex.\n", - "\n_regexp-break : # _regexp-break main.c:12 // Break on line 12 of main.c\n" - "_regexp-break # _regexp-break 12 // Break on line 12 of current file\n" - "_regexp-break
# _regexp-break 0x1234000 // Break on address 0x1234000\n" - "_regexp-break # _regexp-break main // Break in 'main' after the prologue\n" - "_regexp-break & # _regexp-break &main // Break on the first instruction in 'main'\n" - "_regexp-break ` # _regexp-break libc.so`malloc // Break in 'malloc' only in the 'libc.so' shared library\n" - "_regexp-break // # _regexp-break /break here/ // Break on all lines that match the regular expression 'break here' in the current file.\n", + "Set a breakpoint using one of several shorthand formats.\n", + "\n" + "_regexp-break :\n" + " main.c:12 // Break at line 12 of main.c\n\n" + "_regexp-break \n" + " 12 // Break at line 12 of current file\n\n" + "_regexp-break 0x
\n" + " 0x1234000 // Break at address 0x1234000\n\n" + "_regexp-break \n" + " main // Break in 'main' after the prologue\n\n" + "_regexp-break &\n" + " &main // Break at first instruction in 'main'\n\n" + "_regexp-break `\n" + " libc.so`malloc // Break in 'malloc' from 'libc.so'\n\n" + "_regexp-break //\n" + " /break here/ // Break on source lines in current file\n" + " // containing text 'break here'.\n", 2, CommandCompletions::eSymbolCompletion | CommandCompletions::eSourceFileCompletion, @@ -501,9 +510,24 @@ std::unique_ptr tbreak_regex_cmd_ap(new CommandObjectRegexCommand (*this, - "_regexp-tbreak", - "Set a one shot breakpoint using a regular expression to specify the location, where is in decimal and
is in hex.", - "_regexp-tbreak [:]\n_regexp-break []\n_regexp-break [
]\n_regexp-break <...>", + "_regexp-tbreak", + "Set a one-shot breakpoint using one of several shorthand formats.\n", + "\n" + "_regexp-break :\n" + " main.c:12 // Break at line 12 of main.c\n\n" + "_regexp-break \n" + " 12 // Break at line 12 of current file\n\n" + "_regexp-break 0x
\n" + " 0x1234000 // Break at address 0x1234000\n\n" + "_regexp-break \n" + " main // Break in 'main' after the prologue\n\n" + "_regexp-break &\n" + " &main // Break at first instruction in 'main'\n\n" + "_regexp-break `\n" + " libc.so`malloc // Break in 'malloc' from 'libc.so'\n\n" + "_regexp-break //\n" + " /break here/ // Break on source lines in current file\n" + " // containing text 'break here'.\n", 2, CommandCompletions::eSymbolCompletion | CommandCompletions::eSourceFileCompletion, @@ -535,8 +559,8 @@ std::unique_ptr attach_regex_cmd_ap(new CommandObjectRegexCommand (*this, "_regexp-attach", - "Attach to a process id if in decimal, otherwise treat the argument as a process name to attach to.", - "_regexp-attach []\n_regexp-attach []", + "Attach to process by ID or name.", + "_regexp-attach | ", 2, 0, false)); @@ -555,8 +579,8 @@ std::unique_ptr down_regex_cmd_ap(new CommandObjectRegexCommand (*this, "_regexp-down", - "Go down \"n\" frames in the stack (1 frame by default).", - "_regexp-down [n]", + "Select a newer stack frame. Defaults to moving one frame, a numeric argument can specify an arbitrary number.", + "_regexp-down []", 2, 0, false)); @@ -573,8 +597,8 @@ std::unique_ptr up_regex_cmd_ap(new CommandObjectRegexCommand (*this, "_regexp-up", - "Go up \"n\" frames in the stack (1 frame by default).", - "_regexp-up [n]", + "Select an older stack frame. Defaults to moving one frame, a numeric argument can specify an arbitrary number.", + "_regexp-up []", 2, 0, false)); @@ -591,7 +615,7 @@ std::unique_ptr display_regex_cmd_ap(new CommandObjectRegexCommand (*this, "_regexp-display", - "Add an expression evaluation stop-hook.", + "Evaluate an expression at every stop (see 'help target stop-hook'.)", "_regexp-display expression", 2, 0, @@ -608,7 +632,7 @@ std::unique_ptr undisplay_regex_cmd_ap(new CommandObjectRegexCommand (*this, "_regexp-undisplay", - "Remove an expression evaluation stop-hook.", + "Stop displaying expression at every stop (specified by stop-hook index.)", "_regexp-undisplay stop-hook-number", 2, 0, @@ -625,7 +649,7 @@ std::unique_ptr connect_gdb_remote_cmd_ap(new CommandObjectRegexCommand (*this, "gdb-remote", - "Connect to a remote GDB server. If no hostname is provided, localhost is assumed.", + "Connect to a process via remote GDB server. If no host is specifed, localhost is assumed.", "gdb-remote [:]", 2, 0, @@ -643,7 +667,7 @@ std::unique_ptr connect_kdp_remote_cmd_ap(new CommandObjectRegexCommand (*this, "kdp-remote", - "Connect to a remote KDP server. udp port 41139 is the default port number.", + "Connect to a process via remote KDP server. If no UDP port is specified, port 41139 is assumed.", "kdp-remote [:]", 2, 0, @@ -661,8 +685,8 @@ std::unique_ptr bt_regex_cmd_ap(new CommandObjectRegexCommand (*this, "_regexp-bt", - "Show a backtrace. An optional argument is accepted; if that argument is a number, it specifies the number of frames to display. If that argument is 'all', full backtraces of all threads are displayed.", - "bt [|all]", + "Show the current thread's call stack. Any numeric argument displays at most that many frames. The argument 'all' displays all threads.", + "bt [ | all]", 2, 0, false)); @@ -684,8 +708,14 @@ std::unique_ptr list_regex_cmd_ap(new CommandObjectRegexCommand (*this, "_regexp-list", - "Implements the GDB 'list' command in all of its forms except FILE:FUNCTION and maps them to the appropriate 'source list' commands.", - "_regexp-list []\n_regexp-list [:]\n_regexp-list [:]", + "List relevant source code using one of several shorthand formats.", + "\n" + "_regexp-list : // List around specific file/line\n" + "_regexp-list // List current file around specified line\n" + "_regexp-list // List specified function\n" + "_regexp-list 0x
// List around specified address\n" + "_regexp-list -[] // List previous lines\n" + "_regexp-list // List subsequent lines", 2, CommandCompletions::eSourceFileCompletion, false)); @@ -707,8 +737,10 @@ std::unique_ptr env_regex_cmd_ap(new CommandObjectRegexCommand (*this, "_regexp-env", - "Implements a shortcut to viewing and setting environment variables.", - "_regexp-env\n_regexp-env FOO=BAR", + "Shorthand for viewing and setting environment variables.", + "\n" + "_regexp-env // Show enrivonment\n" + "_regexp-env = // Set an environment variable", 2, 0, false)); @@ -725,11 +757,12 @@ std::unique_ptr jump_regex_cmd_ap(new CommandObjectRegexCommand (*this, "_regexp-jump", - "Sets the program counter to a new address.", - "_regexp-jump []\n" - "_regexp-jump [<+-lineoffset>]\n" - "_regexp-jump [:]\n" - "_regexp-jump [*]\n", + "Set the program counter to a new address.", + "\n" + "_regexp-jump \n" + "_regexp-jump + | -\n" + "_regexp-jump :\n" + "_regexp-jump *\n", 2, 0, false)); Index: source/Interpreter/CommandObject.cpp =================================================================== --- source/Interpreter/CommandObject.cpp +++ source/Interpreter/CommandObject.cpp @@ -687,28 +687,28 @@ static const char * BreakpointIDHelpTextCallback () { - return "Breakpoint ID's consist major and minor numbers; the major number " + return "Breakpoint IDs consist major and minor numbers; the major number " "corresponds to the single entity that was created with a 'breakpoint set' " "command; the minor numbers correspond to all the locations that were actually " "found/set based on the major breakpoint. A full breakpoint ID might look like " "3.14, meaning the 14th location set for the 3rd breakpoint. You can specify " "all the locations of a breakpoint by just indicating the major breakpoint " - "number. A valid breakpoint id consists either of just the major id number, " - "or the major number, a dot, and the location number (e.g. 3 or 3.2 could " - "both be valid breakpoint ids)."; + "number. A valid breakpoint ID consists either of just the major number, " + "or the major number followed by a dot and the location number (e.g. 3 or 3.2 " + "could both be valid breakpoint IDs.)"; } static const char * BreakpointIDRangeHelpTextCallback () { - return "A 'breakpoint id list' is a manner of specifying multiple breakpoints. " + return "A 'breakpoint ID list' is a manner of specifying multiple breakpoints. " "This can be done through several mechanisms. The easiest way is to just " - "enter a space-separated list of breakpoint ids. To specify all the " + "enter a space-separated list of breakpoint IDs. To specify all the " "breakpoint locations under a major breakpoint, you can use the major " "breakpoint number followed by '.*', eg. '5.*' means all the locations under " "breakpoint 5. You can also indicate a range of breakpoints by using " " - . The start-bp-id and end-bp-id for a range can " - "be any valid breakpoint ids. It is not legal, however, to specify a range " + "be any valid breakpoint IDs. It is not legal, however, to specify a range " "using specific locations that cross major breakpoint numbers. I.e. 3.2 - 3.7" " is legal; 2 - 5 is legal; but 3.2 - 4.4 is not legal."; } @@ -718,13 +718,13 @@ { return "A name that can be added to a breakpoint when it is created, or later " "on with the \"breakpoint name add\" command. " - "Breakpoint names can be used to specify breakpoints in all the places breakpoint ID's " + "Breakpoint names can be used to specify breakpoints in all the places breakpoint IDs " "and breakpoint ID ranges can be used. As such they provide a convenient way to group breakpoints, " "and to operate on breakpoints you create without having to track the breakpoint number. " "Note, the attributes you set when using a breakpoint name in a breakpoint command don't " "adhere to the name, but instead are set individually on all the breakpoints currently tagged with that name. Future breakpoints " "tagged with that name will not pick up the attributes previously given using that name. " - "In order to distinguish breakpoint names from breakpoint ID's and ranges, " + "In order to distinguish breakpoint names from breakpoint IDs and ranges, " "names must start with a letter from a-z or A-Z and cannot contain spaces, \".\" or \"-\". " "Also, breakpoint names can only be applied to breakpoints, not to breakpoint locations."; } @@ -916,71 +916,43 @@ CommandObject::GenerateHelpText (Stream &output_strm) { CommandInterpreter& interpreter = GetCommandInterpreter(); - if (GetOptions() != nullptr) + if (WantsRawCommandString()) { - if (WantsRawCommandString()) - { - std::string help_text (GetHelp()); - help_text.append (" This command takes 'raw' input (no need to quote stuff)."); - interpreter.OutputFormattedHelpText (output_strm, "", "", help_text.c_str(), 1); - } - else - interpreter.OutputFormattedHelpText (output_strm, "", "", GetHelp(), 1); - output_strm.Printf ("\nSyntax: %s\n", GetSyntax()); - GetOptions()->GenerateOptionUsage (output_strm, this); - const char *long_help = GetHelpLong(); - if ((long_help != nullptr) - && (strlen (long_help) > 0)) - FormatLongHelpText (output_strm, long_help); - if (!IsDashDashCommand()) - { - if (WantsRawCommandString() && !WantsCompletion()) - { - // Emit the message about using ' -- ' between the end of the command options and the raw input - // conditionally, i.e., only if the command object does not want completion. - interpreter.OutputFormattedHelpText (output_strm, "", "", - "\nIMPORTANT NOTE: Because this command takes 'raw' input, if you use any command options" - " you must use ' -- ' between the end of the command options and the beginning of the raw input.", 1); - } - else if (GetNumArgumentEntries() > 0 - && GetOptions() - && GetOptions()->NumCommandOptions() > 0) - { - // Also emit a warning about using "--" in case you are using a command that takes options and arguments. - interpreter.OutputFormattedHelpText (output_strm, "", "", - "\nThis command takes options and free-form arguments. If your arguments resemble" - " option specifiers (i.e., they start with a - or --), you must use ' -- ' between" - " the end of the command options and the beginning of the arguments.", 1); - } - } + std::string help_text (GetHelp()); + help_text.append (" Expects 'raw' input (see 'help raw-input'.)"); + interpreter.OutputFormattedHelpText (output_strm, "", "", help_text.c_str(), 1); } - else if (IsMultiwordObject()) + else + interpreter.OutputFormattedHelpText (output_strm, "", "", GetHelp(), 1); + output_strm.Printf ("\nSyntax: %s\n", GetSyntax()); + Options * options = GetOptions(); + if (options != nullptr) { - if (WantsRawCommandString()) - { - std::string help_text (GetHelp()); - help_text.append (" This command takes 'raw' input (no need to quote stuff)."); - interpreter.OutputFormattedHelpText (output_strm, "", "", help_text.c_str(), 1); - } - else - interpreter.OutputFormattedHelpText (output_strm, "", "", GetHelp(), 1); - GenerateHelpText (output_strm); + options->GenerateOptionUsage (output_strm, this); } - else + const char *long_help = GetHelpLong(); + if ((long_help != nullptr) && (strlen (long_help) > 0)) { - const char *long_help = GetHelpLong(); - if ((long_help != nullptr) - && (strlen (long_help) > 0)) - FormatLongHelpText (output_strm, long_help); - else if (WantsRawCommandString()) + FormatLongHelpText (output_strm, long_help); + } + if (!IsDashDashCommand() && options && options->NumCommandOptions() > 0) + { + if (WantsRawCommandString() && !WantsCompletion()) { - std::string help_text (GetHelp()); - help_text.append (" This command takes 'raw' input (no need to quote stuff)."); - interpreter.OutputFormattedHelpText (output_strm, "", "", help_text.c_str(), 1); + // Emit the message about using ' -- ' between the end of the command options and the raw input + // conditionally, i.e., only if the command object does not want completion. + interpreter.OutputFormattedHelpText (output_strm, "", "", + "\nImportant Note: Because this command takes 'raw' input, if you use any command options" + " you must use ' -- ' between the end of the command options and the beginning of the raw input.", 1); } - else - interpreter.OutputFormattedHelpText (output_strm, "", "", GetHelp(), 1); - output_strm.Printf ("\nSyntax: %s\n", GetSyntax()); + else if (GetNumArgumentEntries() > 0) + { + // Also emit a warning about using "--" in case you are using a command that takes options and arguments. + interpreter.OutputFormattedHelpText (output_strm, "", "", + "\nThis command takes options and free-form arguments. If your arguments resemble" + " option specifiers (i.e., they start with a - or --), you must use ' -- ' between" + " the end of the command options and the beginning of the arguments.", 1); + } } } @@ -1186,7 +1158,7 @@ { eArgTypeRunMode, "run-mode", CommandCompletions::eNoCompletion, { nullptr, false }, "Help text goes here." }, { eArgTypeScriptedCommandSynchronicity, "script-cmd-synchronicity", CommandCompletions::eNoCompletion, { nullptr, false }, "The synchronicity to use to run scripted commands with regard to LLDB event system." }, { eArgTypeScriptLang, "script-language", CommandCompletions::eNoCompletion, { nullptr, false }, "The scripting language to be used for script-based commands. Currently only Python is valid." }, - { eArgTypeSearchWord, "search-word", CommandCompletions::eNoCompletion, { nullptr, false }, "The word for which you wish to search for information about." }, + { eArgTypeSearchWord, "search-word", CommandCompletions::eNoCompletion, { nullptr, false }, "Any word of interest for search purposes." }, { eArgTypeSelector, "selector", CommandCompletions::eNoCompletion, { nullptr, false }, "An Objective-C selector name." }, { eArgTypeSettingIndex, "setting-index", CommandCompletions::eNoCompletion, { nullptr, false }, "An index into a settings variable that is an array (try 'settings list' to see all the possible settings variables and their types)." }, { eArgTypeSettingKey, "setting-key", CommandCompletions::eNoCompletion, { nullptr, false }, "A key into a settings variables that is a dictionary (try 'settings list' to see all the possible settings variables and their types)." }, @@ -1211,7 +1183,8 @@ { eArgTypePlatform, "platform-name", CommandCompletions::ePlatformPluginCompletion, { nullptr, false }, "The name of an installed platform plug-in . Type 'platform list' to see a complete list of installed platforms." }, { eArgTypeWatchpointID, "watchpt-id", CommandCompletions::eNoCompletion, { nullptr, false }, "Watchpoint IDs are positive integers." }, { eArgTypeWatchpointIDRange, "watchpt-id-list", CommandCompletions::eNoCompletion, { nullptr, false }, "For example, '1-3' or '1 to 3'." }, - { eArgTypeWatchType, "watch-type", CommandCompletions::eNoCompletion, { nullptr, false }, "Specify the type for a watchpoint." } + { eArgTypeWatchType, "watch-type", CommandCompletions::eNoCompletion, { nullptr, false }, "Specify the type for a watchpoint." }, + { eArgRawInput, "raw-input", CommandCompletions::eNoCompletion, { nullptr, false }, "Free-form text passed to a command without prior interpretation, allowing spaces without requiring quotes. To pass arguments and free form text put two dashes ' -- ' between the last argument and any raw input." } }; const CommandObject::ArgumentTableEntry* Index: source/Interpreter/CommandObjectScript.cpp =================================================================== --- source/Interpreter/CommandObjectScript.cpp +++ source/Interpreter/CommandObjectScript.cpp @@ -33,8 +33,8 @@ CommandObjectScript::CommandObjectScript (CommandInterpreter &interpreter, ScriptLanguage script_lang) : CommandObjectRaw (interpreter, "script", - "Pass an expression to the script interpreter for evaluation and return the results. Drop into the interactive interpreter if no expression is given.", - "script []") + "Invoke the script interpreter with provided code and display any results. Start the interactive interpreter if no code is supplied.", + "script []") { } Index: source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp =================================================================== --- source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp +++ source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp @@ -413,7 +413,7 @@ CommandObjectMultiwordItaniumABI (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "cplusplus", - "A set of commands for operating on the C++ Language Runtime.", + "Commands for operating on the C++ language runtime.", "cplusplus []") { LoadSubCommand ("demangle", CommandObjectSP (new CommandObjectMultiwordItaniumABI_Demangle (interpreter))); Index: source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp =================================================================== --- source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp +++ source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp @@ -778,7 +778,7 @@ CommandObjectMultiwordObjC_ClassTable (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "class-table", - "A set of commands for operating on the Objective-C class table.", + "Commands for operating on the Objective-C class table.", "class-table []") { LoadSubCommand ("dump", CommandObjectSP (new CommandObjectObjC_ClassTable_Dump (interpreter))); @@ -794,7 +794,7 @@ CommandObjectMultiwordObjC_TaggedPointer (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "tagged-pointer", - "A set of commands for operating on Objective-C tagged pointers.", + "Commands for operating on Objective-C tagged pointers.", "class-table []") { LoadSubCommand ("info", CommandObjectSP (new CommandObjectMultiwordObjC_TaggedPointer_Info (interpreter))); @@ -809,7 +809,7 @@ CommandObjectMultiwordObjC (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "objc", - "A set of commands for operating on the Objective-C Language Runtime.", + "Commands for operating on the Objective-C language runtime.", "objc []") { LoadSubCommand ("class-table", CommandObjectSP (new CommandObjectMultiwordObjC_ClassTable (interpreter))); Index: source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp =================================================================== --- source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp +++ source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp @@ -3595,7 +3595,7 @@ { public: CommandObjectRenderScriptRuntimeModule(CommandInterpreter &interpreter) - : CommandObjectMultiword(interpreter, "renderscript module", "Commands that deal with renderscript modules.", + : CommandObjectMultiword(interpreter, "renderscript module", "Commands that deal with RenderScript modules.", nullptr) { LoadSubCommand("dump", CommandObjectSP(new CommandObjectRenderScriptRuntimeModuleDump(interpreter))); @@ -3871,7 +3871,7 @@ { public: CommandObjectRenderScriptRuntimeKernel(CommandInterpreter &interpreter) - : CommandObjectMultiword(interpreter, "renderscript kernel", "Commands that deal with renderscript kernels.", + : CommandObjectMultiword(interpreter, "renderscript kernel", "Commands that deal with RenderScript kernels.", nullptr) { LoadSubCommand("list", CommandObjectSP(new CommandObjectRenderScriptRuntimeKernelList(interpreter))); @@ -3910,7 +3910,7 @@ { public: CommandObjectRenderScriptRuntimeContext(CommandInterpreter &interpreter) - : CommandObjectMultiword(interpreter, "renderscript context", "Commands that deal with renderscript contexts.", + : CommandObjectMultiword(interpreter, "renderscript context", "Commands that deal with RenderScript contexts.", nullptr) { LoadSubCommand("dump", CommandObjectSP(new CommandObjectRenderScriptRuntimeContextDump(interpreter))); @@ -4271,7 +4271,7 @@ public: CommandObjectRenderScriptRuntimeAllocation(CommandInterpreter &interpreter) : CommandObjectMultiword(interpreter, "renderscript allocation", - "Commands that deal with renderscript allocations.", nullptr) + "Commands that deal with RenderScript allocations.", nullptr) { LoadSubCommand("list", CommandObjectSP(new CommandObjectRenderScriptRuntimeAllocationList(interpreter))); LoadSubCommand("dump", CommandObjectSP(new CommandObjectRenderScriptRuntimeAllocationDump(interpreter))); @@ -4287,7 +4287,7 @@ { public: CommandObjectRenderScriptRuntimeStatus(CommandInterpreter &interpreter) - : CommandObjectParsed(interpreter, "renderscript status", "Displays current renderscript runtime status.", + : CommandObjectParsed(interpreter, "renderscript status", "Displays current RenderScript runtime status.", "renderscript status", eCommandRequiresProcess | eCommandProcessMustBeLaunched) { } @@ -4309,7 +4309,7 @@ { public: CommandObjectRenderScriptRuntime(CommandInterpreter &interpreter) - : CommandObjectMultiword(interpreter, "renderscript", "A set of commands for operating on renderscript.", + : CommandObjectMultiword(interpreter, "renderscript", "Commands for operating on the RenderScript runtime.", "renderscript []") { LoadSubCommand("module", CommandObjectSP(new CommandObjectRenderScriptRuntimeModule(interpreter))); Index: source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp =================================================================== --- source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp +++ source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp @@ -1190,7 +1190,7 @@ CommandObjectMultiwordProcessKDP (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "process plugin", - "A set of commands for operating on a ProcessKDP process.", + "Commands for operating on a ProcessKDP process.", "process plugin []") { LoadSubCommand ("packet", CommandObjectSP (new CommandObjectProcessKDPPacket (interpreter))); Index: source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp =================================================================== --- source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp +++ source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp @@ -5269,7 +5269,7 @@ CommandObjectMultiwordProcessGDBRemote (CommandInterpreter &interpreter) : CommandObjectMultiword (interpreter, "process plugin", - "A set of commands for operating on a ProcessGDBRemote process.", + "Commands for operating on a ProcessGDBRemote process.", "process plugin []") { LoadSubCommand ("packet", CommandObjectSP (new CommandObjectProcessGDBRemotePacket (interpreter))); Index: source/Target/ThreadPlanStepThrough.cpp =================================================================== --- source/Target/ThreadPlanStepThrough.cpp +++ source/Target/ThreadPlanStepThrough.cpp @@ -124,7 +124,7 @@ s->Address(m_start_address, sizeof (addr_t)); if (m_backstop_bkpt_id != LLDB_INVALID_BREAK_ID) { - s->Printf (" with backstop breakpoint id: %d at address: ", m_backstop_bkpt_id); + s->Printf (" with backstop breakpoint ID: %d at address: ", m_backstop_bkpt_id); s->Address (m_backstop_addr, sizeof (addr_t)); } else