aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/aboutdebug.xml
diff options
context:
space:
mode:
Diffstat (limited to 'chapter06/aboutdebug.xml')
-rw-r--r--chapter06/aboutdebug.xml53
1 files changed, 53 insertions, 0 deletions
diff --git a/chapter06/aboutdebug.xml b/chapter06/aboutdebug.xml
new file mode 100644
index 000000000..5cecada9c
--- /dev/null
+++ b/chapter06/aboutdebug.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
+ <!ENTITY % general-entities SYSTEM "../general.ent">
+ %general-entities;
+]>
+
+<sect1 id="ch-system-aboutdebug">
+ <?dbhtml filename="aboutdebug.html"?>
+
+ <title>About Debugging Symbols</title>
+
+ <para>Most programs and libraries are, by default, compiled with
+ debugging symbols included (with <command>gcc</command>'s
+ <parameter>-g</parameter> option). This means that when debugging a
+ program or library that was compiled with debugging information
+ included, the debugger can provide not only memory addresses, but also
+ the names of the routines and variables.</para>
+
+ <para>However, the inclusion of these debugging symbols enlarges a
+ program or library significantly. The following is an example of the
+ amount of space these symbols occupy:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>A <command>bash</command> binary with debugging symbols:
+ 1200 KB</para>
+ </listitem>
+ <listitem>
+ <para>A <command>bash</command> binary without debugging symbols:
+ 480 KB</para>
+ </listitem>
+ <listitem>
+ <para>Glibc and GCC files (<filename class="directory">/lib</filename>
+ and <filename class="directory">/usr/lib</filename>) with debugging
+ symbols: 87 MB</para>
+ </listitem>
+ <listitem>
+ <para>Glibc and GCC files without debugging symbols: 16 MB</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Sizes may vary depending on which compiler and C library were used,
+ but when comparing programs with and without debugging symbols, the
+ difference will usually be a factor between two and five.</para>
+
+ <para>Because most users will never use a debugger on their system software,
+ a lot of disk space can be regained by removing these symbols. The next
+ section shows how to strip all debugging symbols from the programs and
+ libraries. Additional information on system optimization can be found at
+ <ulink url="&hints-root;optimization.txt"/>.</para>
+
+</sect1>