저는 며칠 동안 해결하려고 애 쓰고있는이 응용 프로그램에서이 끔찍한 충돌이 발생했습니다. 코드는 웹 서비스에 요청을 보내는 NSURLRequest입니다. 프로덕션 환경에서 이미 웹 서비스를 사용하고 있으며 단순히이 새로운 서비스 요청을 추가했습니다. 마지막으로 @try ... @catch를 악의적 인 코드 주위에 추가했는데 여전히 응용 프로그램이 충돌하고 아무 것도 "catch"하지 않습니다.ipad : 응용 프로그램에서 크래시가 예외를 생성하지 않습니다?
어떻게 디버깅합니까?
필자는 피어 리뷰를 포함하여 코드 검사를 사용했습니다.
코드는이 ... 같은 곳 "세션 객체"는 NSObject의가 함께 :
id _delegateConnection;
id _delegateReceiver;
NSURLConnection *connection;
NSMutableURLRequest *urlServiceRequest;
NSMutableString *bodyRequest;
NSHTTPURLResponse *httpResponse;
NSMutableData *responseData;
NSError *error;
@try {
[httpClient setDelegateReceiver: self];
[httpClient buildRequest: dictParameters];
[httpClient executeRequest];
}
@catch (NSException *exception) {
NSLog(@"%s: %@", __FUNCTION__, exception);
}
@finally {
// Add code here ...
}
충돌로 인해 오류 유형 및 스택 추적이있는 충돌 보고서가 생성됩니까? @try와 step 내의 첫 번째 줄을 어기면 어떤 것이 끝나나요? (실패한 코드의 내부를 밟을 수있는 코드가 있습니까?) –
아니요 - 그냥 종료됩니다. 그것은 내 executeRequest 메서드 안에 있습니다. 좋은 지적 - 코드를 업데이트하여 불쾌한 한 줄을 따라 잡으려고합니다. – mobibob