2011-03-29 2 views
1

근본 원인과 관련이없는 곳에서 EXC_BAD_ACCESS 오류가 발생합니다. 다행스럽게도 그 이유는 다음 문장에 너무 작 았던 배열 인 것 같습니다. [data getBytes:&tcpBuffer length:i];.EXC_BAD_ACCESS에 대한 이유 - Xcode4에 있음

이제 내 질문 : 나는 모든 theree 방법을 시도 -하지만 성공하지 않고 : 내가 디버그 계획을 설정하면 디버그 창에 출력

  • 에서 아무것도 변경하지 않았고 누출을 사용하는 NSZombiesEnabled를 사용

    1. 인스 트루먼 트가 누설 도구를 시작하지만 디버거가 보이지 않습니다.
    2. iPhone 시뮬레이터와 인스 트루먼 트를 별도로 시작하면 실행중인 앱을 대상으로 선택합니다 (인스 트루먼 트의 팝업 메뉴에서). "찾을 수 없습니다. 목표 ".

    그런 경우 어떻게 알 수 있습니까? 결국, 좀비 오류조차하지 않았다는 것을 명심하십시오! 이 오류 메시지는 도움이되는 것보다 실제로 혼란 스럽습니다!

    (다행히도 난 그냥 내 배열의 생각, 그러나 확실하게, 다음 시간이 다른 곳에서 나를 괴롭힐 것)

  • 답변

    2

    그것은 장소 당신이 EXC_BAD_ACCESS가 근본 원인과 관련되지 않습니다 얻을 매우 가능성이 높습니다. 과 관련 될 수 있으므로 단서를 제공 할 수 있습니다. 그러나 그것은 확실하지 않습니다.

    는 점에 대답하려면 :

    1. NSZombiesEnabled에만 영향을 미칠 것입니다 당신이 해제 된 개체의 메소드를 호출합니다. 그게 너의 EXC_BAD_ACCESS의 원인이 아닐 수도있다.

    2. 인스트루먼트 사용은 디버거와 별개입니다. Instruments에서 프로필을 작성하면 디버거가 활성화되지 않습니다. 기본적으로, 그것은 다른 도구입니다.

    3. 괜찮을 것입니다. 빌드 구성이 "릴리스"가 아니라 "디버그"로 설정되어 있는지 확인하십시오. 여기

    루트 문제를 추적하는 EXC_BAD_ACCESS 방법을 원인이 무엇에 큰 링크입니다 :

    Lou Franco's Understanding EXC_BAD_ACCESS

    이 행해져 Yout 입력을위한 매우
    +1

    감사 - 나는 기쁘다 한편 ARC가 밖으로 있고 이런 종류의 문제를 피하는 데 도움이됩니다 ... – user387184

    관련 문제