Chapter 22.
Canned Sequences of Commands
Aside from breakpoint commands (refer to Section 7.1.7
Breakpoint command lists
), gdb provides two
ways to store sequences of commands for execution as a unit: user-defined commands and command
files.
22.1. User-defined commands
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
define
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
functions calls.
define
commandname
Define a command named
commandname
. If there is already a command by that name, you are
asked to confirm that you want to redefine it.
The definition of the command is made up of other gdb command lines, which are given follow-
ing the
define
command. The end of these commands is marked by a line containing
end
.
if
Takes a single argument, which is an expression to evaluate. It is followed by a series of com-
mands that are executed only if the expression is true (nonzero). There can then optionally be a
line
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
end
.
while
The syntax is similar to
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.
Содержание ENTERPRISE LINUX 4 - DEVELOPER TOOLS GUIDE
Страница 1: ...Red Hat Enterprise Linux 4 Debugging with gdb ...
Страница 12: ...2 Chapter 1 Debugging with gdb ...
Страница 28: ...18 Chapter 4 Getting In and Out of gdb ...
Страница 34: ...24 Chapter 5 gdb Commands ...
Страница 44: ...34 Chapter 6 Running Programs Under gdb ...
Страница 68: ...58 Chapter 8 Examining the Stack ...
Страница 98: ...88 Chapter 10 Examining Data ...
Страница 112: ...102 Chapter 12 Tracepoints ...
Страница 118: ...108 Chapter 13 Debugging Programs That Use Overlays ...
Страница 138: ...128 Chapter 14 Using gdb with Different Languages ...
Страница 144: ...134 Chapter 15 Examining the Symbol Table ...
Страница 170: ...160 Chapter 19 Debugging remote programs ...
Страница 198: ...188 Chapter 21 Controlling gdb ...
Страница 204: ...194 Chapter 22 Canned Sequences of Commands ...
Страница 206: ...196 Chapter 23 Command Interpreters ...
Страница 216: ...206 Chapter 25 Using gdb under gnu Emacs ...
Страница 296: ...286 Chapter 27 gdb Annotations ...
Страница 300: ...290 Chapter 28 Reporting Bugs in gdb ...
Страница 322: ...312 Chapter 30 Using History Interactively ...
Страница 362: ...352 Appendix D gdb Remote Serial Protocol ...
Страница 380: ...370 Appendix F GNU GENERAL PUBLIC LICENSE ...
Страница 386: ...376 Appendix G GNU Free Documentation License ...
Страница 410: ......