%general-entities; ]> $LastChangedBy$ $Date$ GDB-&gdb-version; GDB Introduction to GDB GDB, the GNU Project debugger, allows you to see what is going on inside another program while it executes -- or what another program was doing at the moment it crashed. Note that GDB is most effective when tracing programs and libraries that were built with debugging symbols and not stripped. &lfs90_checked; Package Information Download (HTTP): Download (FTP): Download MD5 sum: &gdb-md5sum; Download size: &gdb-size; Estimated disk space required: &gdb-buildsize; Estimated build time: &gdb-time; GDB Dependencies Recommended Runtime Dependency (Python 3 module, required at run-time to use GDB scripts from various LFS/BLFS packages with Python 3 installed in LFS) Optional (required for tests), , (ada and gfortran are used for tests), , , (used for some tests), , and SystemTap (run-time, used for tests) User Notes: Installation of GDB Install GDB by running the following commands: ./configure --prefix=/usr \ --with-system-readline \ --with-python=/usr/bin/python3 && make Optionally, to build the API documentation using , run: make -C gdb/doc doxy To test the results, issue: pushd gdb/testsuite && make site.exp && echo "set gdb_test_timeout 120" >> site.exp && runtest popd See gdb/testsuite/README and TestingGDB. There are many problems with the test suite: Clean directories are needed if re-running the tests. For that reason, make a copy of the compiled source code directory before the tests in case you need to run the tests again. Results depend on installed compilers. There are a large number of timeouts (there is a variable that can be set to increase time for timeout, but changing it will result in a different number of tests being run). There are failures associated with system readline 6.x. A few tests assume that the header file <sys/sdt.h>, part of SystemTap, is present. If the test suite is run on a Skylake-based Intel CPU or newer, many tests will fail due to the removal of the deprecated/problematic libmpx library in GCC. Approximately 1-3% of the tests fail (out of over 56000 tests). Now, as the root user: make -C gdb install If you have built the API documentation, it is now in gdb/doc/doxy. You can install it (as the root user): install -d /usr/share/doc/gdb-&gdb-version; && rm -rf gdb/doc/doxy/xml && cp -Rv gdb/doc/doxy /usr/share/doc/gdb-&gdb-version; Command Explanations --with-system-readline: This switch forces GDB to use the copy of Readline installed in LFS. --with-python=/usr/bin/python3: This switch forces GDB to use Python 3 installed in LFS. Remove this switch if you have installed and want to use it instead of Python 3. Contents Installed Programs Installed Library Installed Directories gcore, gdb and gdbserver libinproctrace.so /usr/{include,share}/gdb and /usr/share/doc/gdb-&gdb-version; Short Descriptions gcore generates a core dump of a running program. gcore gdb is the GNU Debugger. gdb-prog gdbserver is a remote server for the GNU debugger (it allows programs to be debugged from a different machine). gdbserver libinproctrace.so contains functions for the in-process tracing agent. The agent allows for installing fast tracepoints, listing static tracepoint markers, probing static tracepoints markers, and starting trace monitoring. libinproctrace.so