A user-defined command is a sequence of GDB commands to which
you assign a new name as a command. This is done with the
command. User commands may accept up to 10 arguments separated by whitespace.
Arguments are accessed within the user command via $arg0...$arg9.
A trivial example:
define adder print $arg0 + $arg1 + $arg2
To execute the command use:
adder 1 2 3
This defines the command
adder, which prints the sum of
its three arguments. Note the arguments are text substitutions, so they may
reference variables, use complex expressions, or even perform inferior
definecommand. The end of these commands is marked by a line containing
else, followed by a series of commands that are only executed if the expression was false. The end of the list is marked by a line containing
if: the command takes a single argument, which is an expression to evaluate, and must be followed by the commands to execute, one per line, terminated by an
end. The commands are executed repeatedly as long as the expression evaluates to true.
help. The command commandname must already be defined. This command reads lines of documentation just as
definereads the lines of the command definition, ending with
end. After the
documentcommand is finished,
helpon command commandname displays the documentation you have written. You may use the
documentcommand again to change the documentation of a command. Redefining the command with
definedoes not change the documentation.
show user commandname
When user-defined commands are executed, the commands of the definition are not printed. An error in any command stops execution of the user-defined command.
If used interactively, commands that would ask for confirmation proceed without asking when used inside a user-defined command. Many GDB commands that normally print messages to say what they are doing omit the messages when used in a user-defined command.
Go to the first, previous, next, last section, table of contents.