2011-09-09 2 views
0

저는 iOS 용으로 개발 한 iPhone 앱을 가져 와서 지금 유지 관리하고 있습니다. 아이폰의 캘린더에 추가하려고 할 때 나는 몇 가지 버그를 발견했다. 나는 약간의 디버깅을 시도해 보니 기쁘다.Xcode 4.2가 제대로 디버깅되지 않습니다.

하나의 문제는 iPhone 시뮬레이터에서 응용 프로그램을 실행하면 실행중인 응용 프로그램의 이전 버전이 실행되는 것입니다. 그때부터 다른 버튼을 제거하고 추가했는데 시뮬레이터에서 실행하면 이전 버튼이 계속 표시됩니다. 그러나 장치에서이 파일을 컴파일하고 실행하면 올바른 버전이로드되고 'About'보기에 올바른 버전 번호가 표시됩니다.

하지만 ... 내 주요 문제는 제대로 장치에서 디버깅하지 않는 것입니다. 앱은 실제로 캘린더 문제를 제외하고는 제대로 작동하지만, 몇 가지 중단 점을 입력하면 이것이 어디에서 잘못되고 있는지 정확히 알 수 있으므로 단계적으로 보이지 않습니다. 앱이 일시 중지되고 Xcode에 앱이 일시 중지되었다고 표시됩니다! 나는 한 걸음 더 나아가서 실행을 계속할 수있다. 그리고 그것은 작동하는 것처럼 보이지만 나는 코드를 넘어서서 그것을 볼 수 없다. 또한 변수 위에 마우스를 가져 가서 값을 볼 수는 없다.

여러 번 Xcode를 다시 설치하려고했습니다. 이전 버전을 설치하는 데 문제가있어서 Xcode를 설치하기 전에 다음 버전을 사용할 수있을 때까지 기다려야했습니다.

스트레스입니다. 오늘은 직장에서의 마지막 날입니다. 떠나기 전에 오늘이 앱을 iOS 5에 준비하고 싶습니다.

전에이 증상을 본 사람이 있습니까? 제가 놓친 디버그 설정이 있습니까? 또는 손상된 설치입니까?

나는 사람들에게 좀 더 많은 정보를 제공해 줄 수 있으면 좋겠지 만, 여기서 어디서부터 시작해야할지 모르겠다. 게시 할 수있는 코드는 무엇입니까? 어떤 설정? (이것에 익숙하지 않은 나는 보통 .NET 녀석이다).

감사합니다.

+2

포함 된 모든 iOS 5 SDK와 XCode는 NDA에 의해 비밀리에 처리되므로 Apple.com에서 iOS 5 포럼 밖에서 이야기 할 수 없습니다. – rckoenes

+0

정말요?! 나에게 알려 줘서 고마워. – Connell

답변

3

죄송합니다. 힘든 순간을 보내고 있습니다. Connell; 네가 네가이 모든 것에 너무 익숙하지 않다고 말했을 때, 나는 네가 도울 수있는 몇 가지 조치를 취하고있다. 일부는 꽤 기초적입니다. 그렇지만 유사한 시나리오를 만났을 때 저는 여러 번이 단계로 넘어갔습니다.

  • 시뮬레이터에서 테스트 중이라면 'iOS 시뮬레이터'기본 메뉴에서 'Reset Content and Settings'를 실행하십시오. 이렇게하면 이전의 모든 데이터와 설정이 제거되고 처음부터 올바르게 시작할 수 있습니다.
  • 빌드 메뉴에서 '모든 대상 제거'를 수행하십시오. 그런 다음 실제 프로젝트 폴더로 이동하여 다시 빌드하기 전에 빌드 폴더를 모두 삭제하십시오.
  • 다시 시작 (너무 가능한 경우 귀하의 맥)
  • 모드가 해제 또는 배포
  • 을하더라도 장치에 새로운 하나를 넣기 전에 기존 응용 프로그램을 제거 디버그로 설정되어 있지 않은지 확인 엑스 코드와 시뮬레이터를 모두 다시 시작한 후 다시 시작하십시오.
  • 장치에서 모든 프로비저닝 프로파일을 삭제하고 필요한 장치 만 설치하십시오.

;

  • 코드에서 무한 루프를 실수로 만들었을 때 앱이 '일시 중지'된 것처럼 보였습니다. 이 문제를 일으킬 수있는 것이 있는지 다시 확인하십시오.
  • 아직 수행하지 않았다면 NSLog 또는 그 중 두 개를 던져서 중단 점을 넘어 실제로 실행되지 않는지 확인하십시오.
+0

고마워요! 이제 첫 번째 글 머리 기호 세트의 모든 단계를 시도해보십시오. 실제로 전에 시도해 보았던 것들도 있었지만, 그것들이 모두 작동하는지 확인하기 위해 모든 것을 끝내게 할 것입니다. 비록 전에 빌드 폴더를 삭제하려고 시도 적이 없어요. – Connell

+0

두 번째 부분에 관해서는 IDE가 실제로 디버그 섹션 아래에서 "일시 중지됨"을 말합니다. 즉, 브레이크 포인트에 도달했을 때 수행되는 작업과 일시 중지되었다고 할 때/아웃/인 버튼의 단계가 더 이상 회색으로 표시되지 않습니다. – Connell

+0

Connell을 환영합니다. iOS 5에 대한 의견을 보았습니다. 공개적으로 논의해서는 안됩니다. 글쎄, 문제가 생기는 것을 피하기 위해, 당신의 질문에서 참고 문헌을 삭제하기를 제안 할 수 있습니까? :) 어쨌든 완벽하게 정당한 질문입니다. – Madhu

0

내가 xcode 3에서 시작한 다음 xcode 4로 전환 한 프로젝트에서 똑같은 문제가 발생했습니다. 프로젝트 환경에서 컴파일러를 변경하는 것이 수정되었습니다.

xcode 3의 기본 컴파일러는 gcc이고 xcode 4의 기본 컴파일러는 LLVM gcc입니다.

이제 gdb가 LLVM gcc에서 가질 수있는 문제점을 정확히 알지 못합니다.하지만 프로젝트 설정에서 컴파일러를 gcc로 전환하고 클린 빌드를 수행하면 디버깅 문제가 해결되었습니다.

시도해 볼 가치가 있습니다.

+0

광산은 이미 GCC로 설정되어 있습니다. 그게 프로젝트 설정이나 뭐든간에, 나는 모른다. xcode 4로 어떻게 가져 왔습니까? 문자 그대로 xcode를 같은 폴더로 가리 킵니까? (백업 후) – Connell

+0

xcode 4에서 이전 xcodeproj를 여는 데 특별한 조치를 취할 필요가 없었습니다. 평상시처럼 프로젝트를 열었습니다. 하지만이 프로젝트는 기본 컴파일러를 사용하도록 설정되었습니다.이 컴파일러는 xcode 3에서 GCC 였고 xcode 4는 LLVM GCC였습니다. 이것은 분명히 디버깅 문제의 원인이었습니다. 'System Default (LLVM GCC 4.2) '대신'GCC 4.2'로 프로젝트의 빌드 설정에서'컴파일러 버전'을 변경하면 문제가 해결되었습니다. – filipe

+0

잠깐만, 죄송합니다, 나는 컴파일러가 아닌 디버거를보고있다. 컴파일러 설정은 어디에 있습니까? 프로젝트 설정을 살펴 보았지만 모두 바뀌 었습니다! – Connell

0

GDB 또는 LLDB에서 사용되는 디버거를 확인 했습니까? 제품 메뉴에서 구성표 편집을 선택하고 디버그 구성에서 디버거 설정이 무엇인지 확인하십시오. GDB, LLDB 및 None 사이를 전환하고 그 사이를 돌릴 수 있습니다.

관련 문제