2013-03-04 2 views
5

iPhone 앱을 디버깅 할 때 오류가 발생하여 앱이 다운되었습니다. 예외 브레이크 포인트를 추가했지만 코드에서 어느 부분을 가리 키지 않았고 main.m에 충돌했습니다.iOS의 충돌에 대한 정확한 문제를 추적하는 방법

여기에 앱이 충돌했을 때 XCode 창의 스크린 샷이 추가되었습니다.

enter image description here 어떻게하면 충돌 문제가 발생합니까?

가능합니까? 도와주세요.

+0

나도 이런 종류의 문제가 있었지만 정확한 문제를 발견 할 수는 없었습니다. 누군가 가능한 방법을 지적 할 수 있으면 고맙겠습니다. :) – Mithun

+0

프로그램에 코드가 있으면 친절하게 보여주십시오. 그래서 그 사람은 오류 지점에 도달 할 수 있습니다. –

+0

내 코드의 어느 부분에서이 문제가 발생했는지 두려워했기 때문에 다른 VC를 통해 무작위로 탐색했습니다. 갑자기이 문제가 발생했습니다. 또한 디버그 창에서 코드 나 기능에 대해서는 언급하지 않았습니다. 이 경우 어떻게해야합니까? – Mithuzz

답변

6

Zoombie를 활성화하면 로그에 오류 설명이 표시됩니다.

"Product"메뉴에서 "Edit Scheme"을 선택한 좀비를 사용하려는 구성표를 편집하는 경우 왼쪽 패널의 "Run Foo.app"단계로 이동하고 " "탭을 클릭하십시오. 그런 다음 Xcode 3에서와 같이 NSZombieEnabled를 "환경 변수"섹션에 추가하고 값을 YES로 설정할 수 있습니다.

Xcode 4.1 이상에서는 "실행"탭의 "진단"탭에도 확인란이 있습니다. 스테이지에서 "좀비 오브젝트 사용"을 선택하십시오.

+0

고마워요.하지만 이미 사용하도록 설정했습니다. – Mithuzz

+0

죄송합니다. 실제로 두 번째 옵션을 추가하는 것을 잊어 버렸습니다. 이제 두 번째 옵션이 활성화되었습니다. 감사합니다 :) – Mithuzz

+0

언급하고 테스트 한대로 설정을 변경했습니다. 충돌 문제가 다시 발생하지만 세부 정보가 표시되지 않았습니다. – Mithuzz

3

Exception breakpoint을 추가하면 디버거가 충돌하는 줄에서 중지됩니다.

+0

나는 이미 그 일을했지만, 다른 문제를 지적하고 있었지만,이 오류가 발생하면 아무 일도 일어나지 않았습니다. Debug Navigator 창에서 문제를 찾을 수 있습니까? – Mithuzz

6

XCode의 EditScheme을 클릭하십시오. 다음과 같은 화면이 나타납니다. 좀비 오브젝트 사용을 클릭하십시오. 로그에 오류가 표시됩니다.

enter image description here

+0

감사합니다. 실제로 그 옵션을 잊어 버렸습니다. 사용 가능하게 설정하고 다시 시도하십시오. – Mithuzz

+0

미안하지만, 멜버른이 당신 앞에서 같은 대답을했다고 생각합니다. 그래서 나는 그의 대답을 올바르게 받아 들여야합니까? 걱정하지 마세요. 저는 Upvote를 주었고, 정확한 스크린 샷으로 당신의 도움에 진심으로 감사드립니다. 이해하기가 훨씬 쉬웠습니다. 고마워요 :) – Mithuzz

+0

@Mithuzz. 이것은 당신을 위해서만이 아니다. 그래서 많은 프로그래머가 올바른 answer.giving 스크린 샷을 이해하려고 노력할 것이다.이 유형의 질문에 대해보다 수용 가능한 대답이다. 우리는 새로운 프로그래머에게 더 나은 길을 제시해야합니다. – Suresh

1

확실하지만, 레지스터를 읽는 데 도움이 될 수 없습니다.

먼저 예외 탭으로 가서 '예외 브레이크 포인트 추가'왼쪽 하단에있는 +를 사용하십시오. 응용 프로그램 충돌이 스레드에서 "0 objc_exception_throw"를 클릭하면 enter image description here

그런 다음 콘솔에서 마지막 1 enter image description here

입력 :

레지스터 읽기
  • (당신은 레지스터의 목록을한다)
  • po $ rax (일반적으로 예외는 'rax'에 있음)

    (콘솔에 예외 출력이 표시되어야 함)

희망이 있습니다.

관련 문제