>백엔드 개발 >C++ >예외를 포착하고 있음에도 불구하고 GDB가 raise.c 파일 누락에 대한 오류를 발생시키는 이유는 무엇입니까?

예외를 포착하고 있음에도 불구하고 GDB가 raise.c 파일 누락에 대한 오류를 발생시키는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-10 06:57:02977검색

Why is GDB throwing an error about a missing raise.c file even though I'm catching an exception?

GDB 오류: raise.c 파일 누락

GDB를 실행하여 프로그램을 디버그할 때 사용자는 누락된 파일에 대해 불평하는 오류 메시지를 접할 수 있습니다. raise.c 파일입니다. 이는 예외를 포착했음에도 불구하고 발생합니다. 이 문제를 해결하려면 C 라이브러리의 전체 소스 코드 디버깅을 위해 GDB를 준비해야 합니다.

  1. Libc6의 Debuginfo 버전 설치:

    아직 설치하지 않은 경우 libc6의 debuginfo 버전을 설치하세요. 사용:

    sudo apt install libc6-dbg
  2. 패키지 시스템 준비:

    패키지 시스템이 다음을 통해 소스 코드 패키지를 처리할 수 있는지 확인하세요.

    • dpkg-dev 설치: sudo apt install dpkg-dev
    • /etc/apt/sources.list에서 deb-src 줄 확인(필요한 경우 주석 처리 안 함)
    • 저장소 업데이트: sudo apt update
  3. 소스 다운로드 코드:

    • 디렉토리 생성(예: /opt/src)
    • 설치된 C 라이브러리 버전의 소스 코드 다운로드:

      cd /opt/src
      apt source libc6
    • 디렉터리 이름을 기록해 둡니다(예: /opt/src/glibc-2.23)
  4. GDB 구성:

    다음을 실행하여 GDB가 소스 코드를 예상하는 디렉터리를 결정합니다. (gdb) GDB 내의 정보 소스. (gdb) set replacement-path를 사용하여 올바른 디렉터리 경로를 지정하거나 소스 코드를 예상 위치로 이동하세요.

위 내용은 예외를 포착하고 있음에도 불구하고 GDB가 raise.c 파일 누락에 대한 오류를 발생시키는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.