문제

로드하는 동안 나의 코코아 응용 프로그램,내 프로그램으로 메시지 EXC_BAD_ACCESS.스택 추적 도움이 되지 않습니다.어떤 단서를 어떻게 찾을 수 있습니다 문제입니까?

도움이 되었습니까?

해결책

본 시간을 어디에이 일어날 수 있을 때 당신은에 액세스하려고 시도하는 객체지 않을 유지하도록 제대로 그 중 하나하지 않을 가리키는 유효한의 복사본을 개체 또는 그것의 가리키는 개체의 다른 유형입니다.치 중단점을 조기에 분석하는 개체를 단계별로 시작을 사용하여 포와 인쇄 gdb 은 당신의 최선의 방법입니다.

다른 팁

이것은 일반적으로 나타내는 메모리 관리에 오류가 있습니다.

확실히 당신의 콘센트 선언에 따라 최상의 방법:

@interface MyClass : MySuperclass {
    UIClass *myOutlet;
}
@property (nonatomic, retain) IBOutlet UIClass *myOutlet;
@end

이 형식을 얻을 수 있도록 메모리에서 바로 어떤 플랫폼으로 모든 수퍼 클래스.

모든 확인 awakeFromNib 보장하는 방법 당신이하지 않을 통해 풀어 놓는 물체 등입니다.

새로운 답변하는 오래된 스레드...XCode 에서 4 는 가장 효과적인 방법을 진단하 EXC_BAD_ACCESS 예외를 사용하여 악기를 프로필 응용 프로그램(XCode 에서 를 클릭 제품/프로필 선택 좀비).이를 식별하는 데 도움이 될 메시지 전송을 할당 개체입니다.

을 추가합니다:가장 중요한 이유 언 아카이브 오류가 잊고"반품 자;에서"init 사용자 지정 클래스입니다.그것은 많은 상처:(

체크인 콘솔 로그(애플리케이션/유틸리티/Console.응용 프로그램).때 프로그램이 시작할 때,그리고 뭔가 잘못으로 초기화,그것은 자주 쓰는 몇 가지 유용한 오류 메시지가 있기 전에,그것은 충돌합니다.

이것은 하나의 가능한 이유입니다.가 IBOutlet 개체 없는 초기화되고 메시지가 호출되기에 전무합니다.스택 추적은 다음과 같이 표시될 수 있습니다.

#0    0x90a594c7 in objc_msgSend
#1    0xbffff7b8 in ??
#2    0x932899d8 in loadNib
#3    0x932893d9 in +[NSBundle(NSNibLoading) _loadNibFile:nameTable:withZone:ownerBundle:]
#4    0x9328903a in +[NSBundle(NSNibLoading) loadNibFile:externalNameTable:withZone:]
#5    0x93288f7c in +[NSBundle(NSNibLoading) loadNibNamed:owner:]
#6    0x93288cc3 in NSApplicationMain
#7    0x00009f80 in main at main.mm:17

이후 스택 추적이지 않은 도움 당신은 단계로 코드를 찾 오류가 있습니다.어떤 이유로 당신은지를 설정할 수 있 중단점을 초기에 실행하려고를 삽입하는 일부를 디버거();통화를하는 것입니다 휴식하여 디버거.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top