| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | <?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [  <!ENTITY % general-entities SYSTEM "../general.ent">  %general-entities;]><sect1 id="ch-system-aboutdebug"><title>About debugging symbols</title><?dbhtml filename="aboutdebug.html"?><para>Most programs and libraries are, by default, compiled with debuggingsymbols included (with <command>gcc</command>'s <parameter>-g</parameter>option). This means that, when debugging a program or library that was compiledwith debugging information included, the debugger can give you not only memoryaddresses but also the names of the routines and variables.</para> <para>The inclusion of these debugging symbols, however, enlarges a program orlibrary significantly. To get an idea of the amount of space these symbolsoccupy, have a look at the following:</para><itemizedlist><listitem><para>a bash binary with debugging symbols: 1200 KB</para></listitem><listitem><para>a bash binarywithout 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 fileswithout debugging symbols: 16 MB</para></listitem></itemizedlist><para>Sizes may vary somewhat, depending on which compiler was used and which Clibrary, but when comparing programs with and without debugging symbols thedifference will generally be a factor between 2 and 5.</para><para>As most people will probably never use a debugger on their systemsoftware, a lot of disk space can be regained by removing these symbols. Foryour convenience, the next section shows how to strip all debugging symbolsfrom all programs and libraries. Information on other ways of optimizing yoursystem can be found in the hint at <ulink url="&hints-root;optimization.txt"/>.</para></sect1>
 |