2009-02-25 2 views

답변

41

Xcode 프로젝트가 외부 dSYM 파일로 디버그 기호를 작성하도록 설정 되었기 때문입니다. 이는 실제로 앱에서 디버그 심볼을 제거 할 수 있음을 의미하며, 사용자가 크래시 덤프를 보내면 원본 dSYM 파일을 사용하여 디버깅을위한 적절한 스택 추적을 생성 할 수 있다는 것을 의미하므로 릴리스 빌드에서는 실제로 매우 유용합니다.

어쨌든 은 프로젝트에서 디버그 기호 생성을 비활성화해야합니다. 대신 디버그 심볼 유형을 DWARF ("DWF with dSYM File"대신)로 변경하십시오. Stabs를 사용할 수도 있지만 이전 형식입니다.

편집 : 아, Xcode가 아닌 명령 줄에서 보셨습니다. 내 맥 atm 앞에 앉아 아니지만, gcc4 manpage보다 - Stabs 형식을 사용하려면 -gstabs 지정할 수 있습니다.

+0

안녕하세요, 어떻게 디버그 기호를 변경합니까? 그것을위한 커맨드 라인이 있습니까? – neversaint

+4

흥미로운 특징 : MacOS 10.6.2에서 'link'줄에 소스 파일을 포함 시키면 dsymutil 프로그램이 실행되어 .dSYM 정보가 생성됩니다. 오브젝트 파일과 라이브러리 만 링크하는 경우 dsymutil 프로그램이 실행되지 않으므로 .dSYM 정보가 생성되지 않습니다. 'gcc'에 의해 실행되는 프로그램을 보여주는 GCC의 '-v'옵션을 사용하여이를 검증 할 수 있습니다. –

+0

gdb로 디버깅 할 계획이라면 stab보다 더 많은 기능을 사용할 수 있다고 생각하는 -ggdb를 사용할 수도 있습니다. – Quantum7

2

Xcode를 사용한다고 가정합니다. "프로젝트"/ "프로젝트 설정 편집"메뉴 항목에서 "GCC 4.0 - 코드 생성"섹션 아래의 빌드 탭을 클릭하고 디버그 기호 생성을 선택 해제하십시오. 검색 필드에 "sym"를 입력하면 찾을 수 있습니다.