This page was produced by an automated import process, and may have formatting errors; feel free to fix.
Source Tree Structure
The GDB source directory has a mostly flat structure—there are only a few subdirectories. A file’s name usually gives a hint as to what it does; for example, stabsread.c reads stabs, dwarf2read.c reads DWARF 2, etc.
Files that are related to some common task have names that share common substrings. For example, *-thread.c files deal with debugging threads on various platforms; *read.c files deal with reading various kinds of symbol and object files; inf*.c files deal with direct control of the inferior program (GDB parlance for the program being debugged).
There are several dozens of files in the *-tdep.c family. ‘tdep’ stands for target-dependent code—each of these files implements debug support for a specific target architecture (sparc, mips, etc). Usually, only one of these will be used in a specific GDB configuration (sometimes two, closely related).
Similarly, there are many *-nat.c files, each one for native debugging on a specific system (e.g., sparc-linux-nat.c is for native debugging of Sparc machines running the Linux kernel).
The few subdirectories of the source tree are:
Code that implements CLI, the GDB Command-Line Interpreter. See Command Interpreter.
Code for the GDB remote server.
Code for Insight, the GDB TK-based GUI front-end.
The GDB/MI, the GDB Machine Interface interpreter.
Target signal translation code.
Code for TUI, the GDB Text-mode full-screen User Interface. See TUI.