설치된 패키지에 디버그 기호를 설치하는 방법은 무엇입니까?


8

'Qt Creator'디버거에서 프로그램을 실행하여 프로그램 작동 방식을 보려고합니다. 더 나은 방향을 위해 어셈블리 코드를 볼뿐만 아니라 MS Visual Studio 6.0에서 사용되는 호출 스택 창에서 시스템 (코어) 유틸리티도 완전히보고 싶습니다. 유틸리티의 경우 'Qt Creator'디버거는 디버그 기호를 사용할 수 없다는 것만 표시합니다. (때때로 시스템은 개발자를 위해 버그 보고서를 생성합니다. 버그 보고서 대화 상자는 특정 프로그램에 대해서만 이러한 기호 설치를 요청했습니다.) 핵심 디버그 기호를 어떻게 얻을 수 있습니까? (전체 우분투 버전을 번역하지 않고 '업데이트 관리자'를 사용하여 정기적으로 업데이트를 설치합니다.

/ sys / kernel / debug / x86
디렉토리에는 하나의 빈 파일 만 있습니다. 나는 '우분투 소프트웨어 센터'에서 그것을 찾지 못했고 http://packages.ubuntu.com/precise/x11/ 에있는 패키지 중 일부 가 내가 찾는 것인지 알 수 없습니다.) 감사합니다!


1
페이지를 참조 하십시오.
saiarcot895

@ saiarcot895 효과가 있습니다. 답글을 답글로 남겨주세요. 파일 시스템의 디버그 기호는 어디에 있습니까? 감사!
Tomáš Pečený

답변:


8

우분투의 패키지에는 디버깅 심볼이 별도의 저장소에 저장되어 있습니다. 이러한 디버깅 기호를 다운로드하려면 (복사 및 붙여 넣기)를 실행하십시오.

printf "deb http://ddebs.ubuntu.com %s main restricted universe multiverse\n" $(lsb_release -cs){,-updates,-security,-proposed} | \
 sudo tee -a /etc/apt/sources.list.d/ddebs.list

에 환매 특약 링크를 추가 /etc/apt/sources.list.d/ddebs.list(이것은 쉽게 REPO를 제거 할 수 있습니다). 또는 각 deb링크를 소프트웨어 소스에 복사 하여 여기에 추가 할 수도 있습니다 ( $(lsb_release -cs)실행중인 Ubuntu 릴리스 로 교체해야 할 수도 있습니다).

의 디버깅 기호를 다운로드하려면 package설치 package-dbgsym하거나 경우에 따라을 (를) 설치 하면 package-dbg됩니다. PPA의 패키지에는 리포지토리에서 사용할 수있는 디버깅 기호가 없으며 일반적으로라는 패키지에 디버깅 기호가 포함 된 패키지를 제공하는 것은 관리자의 책임 package-dbg입니다.

디버깅 기호는에 설치되어 /usr/lib/debug있지만 gdb사용 가능한 경우 디버깅 기호를 자동으로 읽고 찾을 위치를 수동으로 지정할 필요가 없습니다. 패키지의 Debhelper 호환성 버전에 따라 디버깅 기호는 다음과 같은 폴더에있을 수 있습니다. 내부에있는 빌드 ID의 이름 .build-id( >= 9) 또는 실행 파일이 설치된 위치 ( < 9) 에 상대적으로있을 수 있습니다 . 예를 들어에 대한 디버깅 심볼의 위치를 ​​찾고 /usr/bin/zip버전이 9 미만인 경우에 위치 /usr/lib/debug/usr/bin/zip합니다.

모든 디버깅 심볼과 리포지토리를 제거하려면 sudo apt-get remove \.*-dbgsym모든 -dbgsym패키지 sudo rm /etc/apt/sources.list.d/ddebs.list를 제거하고 디버깅 심볼 리포지토리를 제거하십시오.


5
PPA는 이제 dbgsym 패키지를 생성합니다. 그러나 "main / debug"를 사용하여 "deb ppa.launchpad.net/USER/PPA/ubuntu vivid main / debug" 와 같은 deb 라인을 추가해야합니다.
Michael Terry

생체 공학으로 ddebs repo에는 생체 공학 보안을위한 릴리스 파일이 없습니다.
Paulo Marcel Coelho Aragão

5

saircot859 님의 답변에 추가. https://wiki.ubuntu.com/Debug%20Symbol%20Packages에 설명 된대로 리포지토리에 대한 GPG 키도 설치해야합니다.

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 428D7C01 C8CAB6595FDFF622

연결된 위키 페이지가 업데이트되었습니다. Ubuntu 18.04 LTS 이상에서는을 사용하십시오 sudo apt install ubuntu-dbgsym-keyring.
user7610

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.