Ios ipad:应用程序崩溃不会生成异常?
我的应用程序发生了可怕的崩溃,我已经尝试解决了好几天了。代码是向web服务发送请求的NSURLRequest。我已经在生产中使用了web服务,我只是添加了这个新的服务请求。我最后添加了@try@捕获有问题的代码,它仍然会使应用程序崩溃,并且不会“捕获”任何内容 如何调试这个 我使用了代码检查,包括同行评审 代码是这样的。。。其中,“httpClient”是一个NSObject,具有:Ios ipad:应用程序崩溃不会生成异常?,ios,ipad,exception,crash,Ios,Ipad,Exception,Crash,我的应用程序发生了可怕的崩溃,我已经尝试解决了好几天了。代码是向web服务发送请求的NSURLRequest。我已经在生产中使用了web服务,我只是添加了这个新的服务请求。我最后添加了@try@捕获有问题的代码,它仍然会使应用程序崩溃,并且不会“捕获”任何内容 如何调试这个 我使用了代码检查,包括同行评审 代码是这样的。。。其中,“httpClient”是一个NSObject,具有: id _delegateConnection; id
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 ...
}
我发现了问题,这是通过好运和代码检查代码的不同部分(“光线更好的地方”): 事实证明,我有一个写入JSON字符串的参数字典,添加到示例代码中列出的
urlServiceRequest
对象的HTTP主体中。我最后偶然发现的是,参数容器(NSObject,而不是NSDictionary)不是“保留的
”,因此它可能是“自动删除的
”,而仍然在我的buildRequest
方法中通过发布urlServiceRequest
引用的
我的内存管理不善导致我在故障排除过程中误入歧途。崩溃是否会生成带有错误类型和堆栈跟踪的崩溃报告?如果你在@try and step中的第一行中断,它会死在哪一行?(有没有代码可以在失败的代码中逐步执行?)没有-它只是退出。它在我的executeRequest方法中。很好的一点——我将更新代码,以尝试捕获单个有问题的行。