linuxfromscratch:12.1:151-about_debugging_symbols

Linux From Scratch - Version 12.1-systemd
Chapter 8. Installing Basic System Software
이전 위로 / 처음으로 다음
E2fsprogs-1.47.0 스트립

대부분의 프로그램과 라이브러리는 기본적으로 디버깅 심볼이 포함된 상태로 컴파일됩니다(gcc의 -g 옵션 사용). 즉, 디버깅 정보를 포함하여 컴파일된 프로그램이나 라이브러리를 디버깅할 때 디버거는 메모리 주소뿐만 아니라 루틴과 변수의 이름도 제공할 수 있습니다.

이러한 디버깅 기호를 포함하면 프로그램이나 라이브러리가 크게 확대됩니다. 다음은 이러한 심볼이 차지하는 공간의 양을 보여주는 두 가지 예입니다:

  • 디버깅 심볼이 포함된 bash 바이너리: 1200KB
  • 디버깅 심볼이 없는 bash 바이너리: 480KB(60% 더 작음)
  • 디버깅 심볼이 있는 Glibc 및 GCC 파일(/lib/usr/lib): 87MB
  • 디버깅 심볼이 없는 Glibc 및 GCC 파일: 16MB(82% 더 작음)

크기는 사용된 컴파일러와 C 라이브러리에 따라 다르지만 디버깅 심볼이 제거된 프로그램은 일반적으로 제거되지 않은 프로그램보다 약 50%에서 80% 정도 작습니다. 대부분의 사용자는 시스템 소프트웨어에서 디버거를 사용하지 않기 때문에 이러한 심볼을 제거하면 디스크 공간을 많이 확보할 수 있습니다. 다음 섹션에서는 프로그램과 라이브러리에서 모든 디버깅 심볼을 제거하는 방법을 보여 드립니다.

  • linuxfromscratch/12.1/151-about_debugging_symbols.txt
  • 마지막으로 수정됨: 2024/06/15 12:45
  • 저자 baecy