Contents|Index|Previous|Next

Printing source lines

To print lines from a source file, use the list command (abbreviated l). By default, ten lines are printed. There are several ways to specify what part of the file you want to print. The following 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 using the Return key discards the argument, so it is equivalent to typing 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 is 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 for list in the previous descriptions.

The following 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 instance, in C, this is the line with the open brace.

filename:function
Specifies the line of the open-brace that begins the body of the function function in the file, filename. You only need the file name with a function name to avoid ambiguity when there are identically named functions in different source files.

*address
Specifies the line containing the program address, address. address may be any expression.