diff options
Diffstat (limited to 'chapter06/aboutdebug.xml')
-rw-r--r-- | chapter06/aboutdebug.xml | 60 |
1 files changed, 30 insertions, 30 deletions
diff --git a/chapter06/aboutdebug.xml b/chapter06/aboutdebug.xml index a4ffefc52..8d03387fe 100644 --- a/chapter06/aboutdebug.xml +++ b/chapter06/aboutdebug.xml @@ -2,49 +2,49 @@ <title>About debugging symbols</title> <?dbhtml filename="aboutdebug.html" dir="chapter06"?> -<para>Most programs and libraries by default are compiled with debugging -symbols (gcc option -g).</para> +<para>Most programs and libraries are by default compiled with debugging +symbols included (with gcc option -g).</para> -<para>A program compiled with debugging symbols means a user can run a program -or library through a debugger and the debugger's output will be user -friendly. These debugging symbols also enlarge the program or library -significantly.</para> - -<para>Before you start wondering whether these debugging symbols really make a -big difference, here are some statistics. Use them to draw your own -conclusion.</para> +<para>When debugging a program or library that was compiled with debugging +information included, the debugger can give you not only memory addresses +but also the names of the routines and variables.</para> + +<para>But the inclusion of these debugging symbols enlarges a program or +library significantly. To get an idea of the amount of space these symbols +occupy, have a look at the following:</para> <itemizedlist> -<listitem><para>A dynamic Bash binary -with debugging symbols: 1.2 MB</para></listitem> +<listitem><para>a bash binary +with debugging symbols: 1200 KB</para></listitem> -<listitem><para>A dynamic Bash binary -without debugging symbols: 478 KB</para></listitem> +<listitem><para>a bash binary +without debugging symbols: 480 KB</para></listitem> -<listitem><para>/lib and /usr/lib (glibc -and gcc files) with debugging symbols: 87 MB</para></listitem> +<listitem><para>glibc and gcc files (/lib and /usr/lib) +with debugging symbols: 87 MB</para></listitem> -<listitem><para>/lib and /usr/lib (glibc -and gcc files) without debugging symbols: 16 MB</para></listitem> +<listitem><para>glibc and gcc files +without debugging symbols: 16 MB</para></listitem> </itemizedlist> -<para>Sizes vary depending on which compiler was used and which C library -version was used to link dynamic programs against, but results will be -similar if you compare programs with and without debugging symbols.</para> +<para>Sizes may vary a little, depending on which compiler was used and +which C library. But when comparing programs with and without debugging +symbols, the difference will generally be a factor between 2 and 5.</para> + +<para>As most people will probably never use a debugger on their system +software, a lot of disk space can be regained by removing these symbols .</para> -<para>To remove debugging symbols from a binary (must be an a.out or ELF -binary) run <userinput>strip --strip-debug filename</userinput>. Wildcards -can be used to strip debugging symbols from multiple files (use something -like <userinput>strip --strip-debug $LFS/usr/bin/*</userinput>). Most -people will probably never use a debugger on software, so by removing -those symbols a lot of disk space can be regained.</para> +<para>To remove debugging symbols from a binary (which must be an a.out +or ELF binary), run <userinput>strip --strip-debug filename</userinput>. +Wildcards can be used to treat multiple files (use something like +<userinput>strip --strip-debug $LFS/static/bin/*</userinput>).</para> <para>For your convenience, chapter 9 includes one simple command to strip -all debugging symbols from the programs and libraries on your system. You -might find additional information in the optimization hint which can be -found at <ulink url="&hints-root;optimization.txt"/>.</para> +all debugging symbols from all programs and libraries on your system. +Additional information on optimization you can find in the hint at +<ulink url="&hints-root;optimization.txt"/>.</para> </sect1> |