2011-03-14 3 views
3

Xcode 3에서 Xcode 4로 진행중인 프로젝트를 마이그레이션했습니다. LLVM 2.0 컴파일러에 의한 ad-hoc 빌드가 iPod Touch 2G (iOS 4.2.1)에서 충돌합니다. iPad에서도 잘 작동합니다 (iOS 4.3). 이전에 Xcode 4로 이전하지 못했습니다.llvm 2.0 컴파일러로 EXEC_BAD_ACCESS 빌드로 임시 테스트가 중단됨

장치의 디버그 구성을 테스트 한 결과 크래시가 발생하지 않았습니다. Ad-hoc 구성 (릴리스에서 복제)으로 테스트했을 때 충돌이 발생합니다. ad-hoc 구성의 컴파일러 버전을 "LLVM 2.0"에서 "LLVM GCC4.2"또는 "GCC 4.2"로 전환 할 때 충돌이 발생하지 않습니다.

따라서 ad-hoc 및 릴리스 구성에 "LLVM GCC 4.2"를 사용하고 있습니다. 그러나 나는 충돌의 가능한 원인이 무엇인지 알고 싶습니다.

나는 아무것도 말하지 않았기 때문에 충돌 보고서를 게시하지 않았지만 스레드 0, 스택 흐름에 충돌이 발생했습니다.

답변

3

이와 같은 증상을 수정하는 LLVM 컴파일러 2.0에 대한 수정 된 버그 수정이 포함 된 Xcode 4.0.2를 사용해보십시오.

감사합니다. 엑스 코드 4.0.2에

크리스

1

나는 이것이 원격 디버거가 어떤 이유로 든 전화상의 응용 프로그램에 연결하지 못하는 것과 관련이 있다고 생각합니다. Xcode 3 프로젝트에 get-task-allow이 설정된 Entitlements.plist가 있습니까? 디버깅 기호를 제거하고 있습니까? 컴파일러 최적화? 장치의 Console 로그에서 Organizer 창을 살펴보고 다른 코드 문제가없는 것으로 확신하는 경우 com.apple.debugserver에 대한 오류가 표시됩니다.

나는 비슷한 상황에 처해 있었고, 아직 완전히 해결되지 않았습니다. Ad-Hoc 빌드 구성을 사용하는 "Release"체계에서 Xcode가 실행 중일 때 GDB에 연결하지 말라고 말했지만 원격 디버거를 연결하려고 시도했음을 알았습니다. 그래서 곧바로 충돌 할 것이라고 생각합니다. 문제가 발생하면 Xcode에서 현재 실행중인 프로세스를 중단 한 다음 올바르게 설치된 전화에서 설치된 응용 프로그램을 수동으로 시작합니다.

직접적으로 앱 오류는 아니지만 프로젝트의 엄청난 폭풍우, 빌드 설정 및 원격 디버거 일 가능성이 큽니다. 실행 설정으로 놀아 보시고 어쩌면 당신은 그것에서 레이더를 얻을 수 있습니다.

+0

나는 IDP 포럼이 스레드 건너왔다 (Apple 계정이 필요) : https://devforums.apple.com/thread/92279?start=0&tstart=0를. 글쎄, 그것은 LLVM 2.0 나쁜 것 같습니다. –

관련 문제