17.6. GDB를 사용하여 애플리케이션 또는 라이브러리를 위한 debuginfo 패키지 가져오기

코드를 디버깅하려면 디버깅 정보가 필요합니다. 패키지에서 설치된 코드의 경우 GNU Debugger(GDB)는 누락된 디버그 정보를 자동으로 인식하고 패키지 이름을 확인하고 패키지를 가져오는 방법에 대한 구체적인 조언을 제공합니다.

사전 요구 사항

  • 디버그하려는 애플리케이션 또는 라이브러리가 시스템에 설치되어 있어야 합니다.
  • GDB 및 debuginfo-install 툴이 시스템에 설치되어 있어야 합니다. 자세한 내용은 애플리케이션 디버그 설정을 참조하십시오.
  • debuginfodebugsource 패키지를 제공하는 리포지토리는 시스템에서 구성하고 활성화해야 합니다. 자세한 내용은 디버그 및 소스 리포지토리 활성화를 참조하십시오.

절차

  1. 디버깅하려는 애플리케이션 또는 라이브러리에 GDB 연결을 시작합니다. GDB는 누락된 디버깅 정보를 자동으로 인식하며 실행할 명령을 제안합니다.

    $ gdb -q /bin/ls
    Reading symbols from /bin/ls...Reading symbols from .gnu_debugdata for /usr/bin/ls...(no debugging symbols found)...done.
    (no debugging symbols found)...done.
    Missing separate debuginfos, use: dnf debuginfo-install coreutils-8.30-6.el8.x86_64
    (gdb)
  2. exit GDB: q 를 입력하고 Enter 를 사용하여 확인합니다.

    (gdb) q
  3. GDB에서 제안한 명령을 실행하여 필요한 debuginfo 패키지를 설치합니다.

    # dnf debuginfo-install coreutils-8.30-6.el8.x86_64

    dnf 패키지 관리 도구는 변경 사항에 대한 요약을 제공하고 확인을 요청하며 확인 후 필요한 모든 파일을 다운로드하여 설치합니다.

  4. case GDB는 debuginfo 패키지를 제안할 수 없으며 애플리케이션 또는 라이브러리에 대한 debuginfo 패키지 가져오기에 설명된 절차를 수동으로 수행합니다.