To print lines from a source file, use the list
(l) command. By default, ten lines are printed.
There are several ways to specify what part of the file you want to print.
Here are the forms of the list command most commonly used:
- list linenum
- Print lines centered around line number linenum in the
current source file.
- list function
- Print lines centered around the beginning of function
function.
- list
- Print more lines. If the last lines printed were printed with a
list command, this prints lines following the last lines
printed; however, if the last line printed was a solitary line printed
as part of displaying a stack frame (see
"Examining the Stack"), this prints lines centered around that line.
- list -
- Print lines just before the lines last printed.
By default, GDB prints ten source lines with any of these forms of
the list command. You can change this using set listsize:
- set listsize count
- Make the list command display count source lines (unless
the list argument explicitly specifies some other number).
- show listsize
-
Display the number of lines that list prints.
Repeating a list command with Enter discards the argument,
so it's equivalent to typing just list. This is more useful
than listing the same lines again. An exception is made for an
argument of -; that argument is preserved in repetition so that
each repetition moves up in the source file.
In general, the list command expects you to supply zero, one or two
linespecs. Linespecs specify source lines; there are several ways
of writing them but the effect is always to specify some source line.
Here's a complete description of the possible arguments for list:
- list linespec
- Print lines centered around the line specified by linespec.
- list first,last
- Print lines from first to last. Both arguments are
linespecs.
- list ,last
- Print lines ending with last.
- list first,
- Print lines starting with first.
- list +
- Print lines just after the lines last printed.
- list -
- Print lines just before the lines last printed.
- list
- As described in the preceding table.
Here are the ways of specifying a single source lineāall the
kinds of linespec:
- number
- Specifies line number of the current source file.
When a list command has two linespecs, this refers to
the same source file as the first linespec.
- +offset
- Specifies the line offset lines after the last line printed.
When used as the second linespec in a list command that has
two, this specifies the line offset lines down from the
first linespec.
- -offset
- Specifies the line offset lines before the last line printed.
- filename:number
- Specifies line number in the source file filename.
- function
- Specifies the line that begins the body of the function function.
For example: in C, this is the line with the open brace, }.
- filename:function
- Specifies the line of the open brace that begins the body of
function in the file filename.
You need the
filename with a function name only to avoid ambiguity when there are
identically named functions in different source files.
- *address
- Specifies the line containing the program address address.
The address may be any expression.