From 64d76fa6c2b7ded4f18874f413168c26dd5af803 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 13 May 2014 21:22:38 +0200 Subject: [PATCH] doc: Improve debugging file documentation. * doc/guix.texi (Installing Debugging Files): Add @cindex. Remove unneeded '-i' in example. Mention source code an 'directory'. Link to "Build Systems" instead of "Defining Packages". --- doc/guix.texi | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 98bf06636b..770e7ab062 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2604,6 +2604,7 @@ to join! @ref{Contributing}, for information about how you can help. @node Installing Debugging Files @section Installing Debugging Files +@cindex debugging files Program binaries, as produced by the GCC compilers for instance, are typically written in the ELF format, with a section containing @dfn{debugging information}. Debugging information is what allows the @@ -2634,7 +2635,7 @@ installs the debugging information for the GNU C Library and for GNU Guile: @example -guix package -i glibc:debug -i guile:debug +guix package -i glibc:debug guile:debug @end example GDB must then be told to look for debug files in the user's profile, by @@ -2649,9 +2650,16 @@ GDB}): From there on, GDB will pick up debugging information from the @code{.debug} files under @file{~/.guix-profile/lib/debug}. +In addition, you will most likely want GDB to be able to show the source +code being debugged. To do that, you will have to unpack the source +code of the package of interest (obtained with @code{guix build +--source}, @pxref{Invoking guix build}), and to point GDB to that source +directory using the @code{directory} command (@pxref{Source Path, +@code{directory},, gdb, Debugging with GDB}). + @c XXX: keep me up-to-date The @code{debug} output mechanism in Guix is implemented by the -@code{gnu-build-system} (@pxref{Defining Packages}). Currently, it is +@code{gnu-build-system} (@pxref{Build Systems}). Currently, it is opt-in---debugging information is available only for those packages whose definition explicitly declares a @code{debug} output. This may be changed to opt-out in the future, if our build farm servers can handle