Contents|Index|Previous|Next
Specifying
source directories
Executable
programs sometimes do not record the directories of the source files from
which they were compiled, just the names. Even when they do, the directories
could be moved between the compilation and your debugging session. GDB
has a list of directories to search for source files; this is called the
source path. Each time GDB wants a source file, it tries all the
directories in the list, in the order they are present in the list, until
it finds a file with the desired name.
Note:
The executable search path
is not used for this purpose. Neither is the current working directory,
unless it happens to be in the source path.
If GDB cannot find a source
file in the source path, and the object program records a directory, GDB
tries that directory too. If the source path is empty, and there is no
record of the compilation directory, GDB looks in the current directory
as a last resort.
Whenever you reset or rearrange
the source path, GDB clears out any information it has cached about where
source files are found and where each line is in the file. When you start
GDB, its source path is empty. To add other directories, use the directory
command.
directory dirname ...
dir dirname ...
Add directory, dirname,
to the front of the source path. Several directory names may be given to
this command, separated by :
or whitespace. You may specify a directory that is already in the source
path; this moves it forward, so GDB searches it sooner.
You can use the string,
$cdir,
to refer to the compilation directory (if one is recorded), and $cwd
to refer to the current working directory. $cwd
is not the same as .the
former tracks the current working directory as it changes during your GDB
session, while the latter is immediately expanded to the current directory
at the time you add an entry to the source path.
directory
Reset the source path to
empty again. This requires confirmation.
show directories
Print the source path; show
which directories it contains.
If your source path is cluttered
with directories that are no longer of interest, GDB may sometimes cause
confusion by finding the wrong versions of source. You can correct the
situation by the following methods.
-
Use directory
with no argument to reset the source path to empty.
-
Use directory
with suitable arguments to reinstall the directories you want in the source
path. You can add all the directories in one command.
Top|Contents|Index|Previous|Next