2012-07-24 1 views
1

어딘가에, 나는있는 NSString에의 NSNumber를 할당하여 몇 가지 실수를했다 :왜 iPhone 5.1 Simulator는 4.3 Simulator보다 적은 디버깅 정보를 제공합니까? 내 코드에서

self.totalLikesLabel.text=[user objectForKey:@"totalLikes"]; 

Comparison of crash information between 5.1 Simulator (top) and 4.3 Simulator (bottom)

위의 지점에서 응용 프로그램 충돌, 5.1 시뮬레이터에서 어떤 라인의 특정 정보를 표시하지 않은 경우에는 내 코드로 인해 충돌이 발생합니다. 그러나, 4.3 Simulator 않았다!

이 경우 4.3과 같이 작동하도록 5.1 시뮬레이터에서 일부 설정을 구성해야합니까?

+0

"iPhone 5.1 Simulator가 4.3 Simulator보다 디버깅 정보가 적은 이유는 무엇입니까?" – FabienB

+0

@FabienB 제 질문에 다시 답해 주셔서 감사합니다. –

답변

1
1.Go to the breakpoint navigator (left navigation panel 6th one from the left). 
2. Click the "+" button at the bottom 
3. Select Exception Breakpoint 
4. Leave Exception Breakpoint checked 
5. In the Exception: field select "Objective-C" 
6. In the Break: field select "On Throw" 
7. Leave Action: alone (unless you want it to do something) 
8. Leave Option: **unchecked** 
9. Click "Done" 

이것은 당신이 SIGABRT보다 조금 더 볼 수 있도록해야한다.

+0

많은 감사. 매력처럼 작동합니다! 왜 이것이 기본값이 아닌지 궁금해합니다. –

0

5.1 시뮬레이터로 무엇을 얻습니까? 같은 런타임 오류를 방지하려면

, 당신은 @try {} @catch {}와 그를 캡슐화 할 수 또는 할당하기 전에 객체를 확인하십시오

id s = [user objectForKey:@"totalLikes"]; 

if ([s isKindOfClass [NSString class]]) ... 
+0

즉, main.m에 줄을 지시하는 SIGABRT 신호와 - [__ NSCFNumber isEqualToString :] : 인식 할 수없는 선택자가 내 코드의 아무 곳이나 가리 키지 않고 인스턴스 0x8e5fe70에 보냈습니다. 이 질문에 게시 된 선을 정확히 가리키는 4.3 Simulator와는 다릅니다. –

+0

디버깅 정보 사용의 요점은 우리가 처음에는'@ try'와'@ catch'를 어디에서 사용해야하는지 모릅니다. –

+0

플러스, 시도 및 catch는 리소스를 많이 사용합니다. – jdog