Changeset b822811 for chapter06/aboutdebug.xml
- Timestamp:
- 07/22/2001 07:45:10 PM (23 years ago)
- Branches:
- 10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, 6.0, 6.1, 6.1.1, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, v3_0, v3_1, v3_2, v3_3, v4_0, v4_1, v5_0, v5_1, v5_1_1, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
- Children:
- f1da843
- Parents:
- 46f5461
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter06/aboutdebug.xml
r46f5461 rb822811 2 2 <title>About debugging symbols</title> 3 3 4 <para> 5 Most programs and libraries by default are compiled with debugging 4 <para>Most programs and libraries by default are compiled with debugging 6 5 symbols (gcc option -g) Let me explain what these debugging symbols 7 are and why you may not want them. 8 </para> 6 are and why you may not want them.</para> 9 7 10 <para> 11 A program compiled with debugging symbols means a user can run a program or 12 library through a debugger and the debugger's output will be user 8 <para>A program compiled with debugging symbols means a user can run a program 9 or library through a debugger and the debugger's output will be user 13 10 friendly. These debugging symbols also enlarge the program or library 14 significantly. 15 </para> 11 significantly.</para> 16 12 17 <para> 18 Before you start wondering whether these debugging symbols really make a 13 <para>Before you start wondering whether these debugging symbols really make a 19 14 big difference, here are some statistics. Use them to draw your own 20 conclusion. 21 </para> 15 conclusion.</para> 22 16 23 17 <itemizedlist> 24 18 25 <listitem><para> 26 A dynamic Bash binary with debugging symbols: 1.2MB 27 </para></listitem> 19 <listitem><para>A dynamic Bash binary 20 with debugging symbols: 1.2MB</para></listitem> 28 21 29 <listitem><para> 30 A dynamic Bash binary without debugging symbols: 478KB 31 </para></listitem> 22 <listitem><para>A dynamic Bash binary 23 without debugging symbols: 478KB</para></listitem> 32 24 33 <listitem><para> 34 /lib and /usr/lib (glibc and gcc files) with debugging 35 symbols: 87MB 36 </para></listitem> 25 <listitem><para>/lib and /usr/lib (glibc 26 and gcc files) with debugging symbols: 87MB</para></listitem> 37 27 38 <listitem><para> 39 /lib and /usr/lib (glibc and gcc files) without 40 debugging symbols: 16MB 41 </para></listitem> 28 <listitem><para>/lib and /usr/lib (glibc 29 and gcc files) without debugging symbols: 16MB</para></listitem> 42 30 43 31 </itemizedlist> 44 32 45 <para> 46 Sizes vary depending on which compiler was used and which C library 33 <para>Sizes vary depending on which compiler was used and which C library 47 34 version was used to link dynamic programs against, but results will be 48 35 similar if you compare programs with and without debugging symbols. After 49 36 I was done with this chapter and stripped all debugging symbols from all LFS 50 binaries I regained a little over 102 MB of disk space. Quite the difference.51 </para>37 binaries I regained a little over 102 MB of disk space. Quite the 38 difference.</para> 52 39 53 <para> 54 To remove debugging symbols from a binary (must be an a.out or ELF 40 <para>To remove debugging symbols from a binary (must be an a.out or ELF 55 41 binary) run <userinput>strip --strip-debug filename</userinput>. Wild cards 56 42 can be used to strip debugging symbols from multiple files (use something 57 43 like <userinput>strip --strip-debug $LFS/usr/bin/*</userinput>). 58 44 Most people will probably never use a debugger on software, so by 59 removing those symbols a lot of disk space can be regained. 60 </para> 45 removing those symbols a lot of disk space can be regained.</para> 61 46 62 <para> 63 You might find additional information in the optimization hint which can 47 <para>You might find additional information in the optimization hint which can 64 48 be found at <ulink 65 url="http://archive.linuxfromscratch.org/lfs-hints/optimization.txt"> 66 http://archive.linuxfromscratch.org/lfs-hints/optimization.txt</ulink>. 67 </para> 49 url="http://archive.linuxfromscratch.org/lfs-hints/optimization.txt">http://archive.linuxfromscratch.org/lfs-hints/optimization.txt</ulink> 50 .</para> 68 51 69 52 </sect1>
Note:
See TracChangeset
for help on using the changeset viewer.