| [bf8c11f] | 1 | <?xml version="1.0" encoding="ISO-8859-1"?> | 
|---|
|  | 2 | <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN" | 
|---|
|  | 3 | "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [ | 
|---|
|  | 4 | <!ENTITY % general-entities SYSTEM "../../general.ent"> | 
|---|
|  | 5 | %general-entities; | 
|---|
|  | 6 | ]> | 
|---|
|  | 7 |  | 
|---|
|  | 8 | <sect1 id="ch-system-aboutdebug"> | 
|---|
|  | 9 | <?dbhtml filename="aboutdebug.html"?> | 
|---|
|  | 10 |  | 
|---|
| [f3c500c] | 11 | <title>About Debugging Symbols</title> | 
|---|
| [bf8c11f] | 12 |  | 
|---|
| [f6bcc50] | 13 | <para os="a">Most programs and libraries are, by default, compiled with debugging | 
|---|
| [bf8c11f] | 14 | symbols included (with <command>gcc</command>'s <option>-g</option> option). | 
|---|
|  | 15 | This means that when debugging a program or library that was compiled with | 
|---|
|  | 16 | debugging information included, the debugger can provide not only memory | 
|---|
|  | 17 | addresses, but also the names of the routines and variables.</para> | 
|---|
|  | 18 |  | 
|---|
| [f6bcc50] | 19 | <para os="b">However, the inclusion of these debugging symbols enlarges a | 
|---|
| [bf8c11f] | 20 | program or library significantly. The following is an example of the | 
|---|
|  | 21 | amount of space these symbols occupy:</para> | 
|---|
|  | 22 |  | 
|---|
| [f6bcc50] | 23 | <itemizedlist os="c"> | 
|---|
|  | 24 | <listitem os="c1"> | 
|---|
| [bf8c11f] | 25 | <para>a bash binary with debugging symbols: 1200 KB</para> | 
|---|
|  | 26 | </listitem> | 
|---|
| [f6bcc50] | 27 | <listitem os="c2"> | 
|---|
| [bf8c11f] | 28 | <para>a bash binary without debugging symbols: 480 KB</para> | 
|---|
|  | 29 | </listitem> | 
|---|
| [f6bcc50] | 30 | <listitem os="c3"> | 
|---|
| [bf8c11f] | 31 | <para>Glibc and GCC files (<filename class="directory">/lib</filename> | 
|---|
|  | 32 | and <filename class="directory">/usr/lib</filename>) with debugging | 
|---|
|  | 33 | symbols: 87 MB</para> | 
|---|
|  | 34 | </listitem> | 
|---|
| [f6bcc50] | 35 | <listitem os="c4"> | 
|---|
| [bf8c11f] | 36 | <para>Glibc and GCC files without debugging symbols: 16 MB</para> | 
|---|
|  | 37 | </listitem> | 
|---|
|  | 38 | </itemizedlist> | 
|---|
|  | 39 |  | 
|---|
| [f6bcc50] | 40 | <para os="d">Sizes may vary depending on which compiler and C library were used, | 
|---|
| [bf8c11f] | 41 | but when comparing programs with and without debugging symbols, the | 
|---|
|  | 42 | difference will usually be a factor between two and five.</para> | 
|---|
|  | 43 |  | 
|---|
| [f6bcc50] | 44 | <para os="e">Because most users will never use a debugger on their system software, | 
|---|
| [bf8c11f] | 45 | a lot of disk space can be regained by removing these symbols. The next | 
|---|
|  | 46 | section shows how to strip all debugging symbols from the programs and | 
|---|
|  | 47 | libraries. Additional information on system optimization can be found at | 
|---|
|  | 48 | <ulink url="&hints-root;optimization.txt"/>.</para> | 
|---|
|  | 49 |  | 
|---|
|  | 50 | </sect1> | 
|---|