HP (Hewlett-Packard) 5992-4701 Computer Hardware User Manual


 
GDB fills in the rest of the word 'breakpoints', since that is the only info
subcommand beginning with 'bre':
((gdb)) info breakpoints
You can either press RET at this point, to run the info breakpoints command, or
backspace and enter something else, if 'breakpoints' does not look like the command
you expected. (If you were sure you wanted info breakpoints in the first place,
you might as well just type RET immediately after 'info bre', to exploit command
abbreviations rather than command completion.)
If there is more than one possibility for the next word when you press TAB , GDB
sounds a bell. You can either supply more characters and try again, or just press TAB
a second time; GDB displays all the possible completions for that word. For example,
you might want to set a breakpoint on a subroutine whose name begins with 'make_',
but when you type b make_TAB GDB just sounds the bell. Typing TAB again displays
all the function names in your program that begin with those characters, for example:
((gdb)) b make_TAB
GDB sounds bell; press TAB again, to see:
make_a_section_from_file make_environ
make_abs_section make_function_type
make_blockvector make_pointer_type
make_cleanup make_reference_type
make_command make_symbol_completion_list
((gdb)) b make_
After displaying the available possibilities, GDB copies your partial input ('b make_'
in the example) so you can finish the command.
If you just want to see the list of alternatives in the first place, you can press M-? rather
than pressing TAB twice. M-? means META?. You can type this either by holding down
a key designated as the META shift on your keyboard (if there is one) while typing ?,
or as ESC followed by ?.
Sometimes the string you need, while logically a “word”, may contain parentheses or
other characters that GDB normally excludes from its notion of a word. To permit word
completion to work in this situation, you may enclose words in ' (single quote marks)
in GDB commands.
The most likely situation where you might need this is in typing the name of a C++
function. This is because C++ allows function overloading (multiple definitions of the
same function, distinguished by argument type). For example, when you want to set
a breakpoint you may need to distinguish whether you mean the version of name that
takes an int parameter, name(int), or the version that takes a float parameter, name(float).
To use the word-completion facilities in this situation, type a single quote ' at the
beginning of the function name. This alerts GDB that it may need to consider more
information than usual when you press TAB or M-? to request word completion:
((gdb)) b 'bubble( M-?
34 GDB Commands