iOS的捕获已发布应用的崩溃信息
2012-10-23 10:18
274 查看
被部署在App
Store中的应用程序,那么你将能看到它的崩溃日志在iTunes Connect。但是,只有当受影响的客户都选择了诊断和使用信息发送给苹果。 “
复制代码
无效myCaughtExceptionHandler(NSException的*例外)
{
NSArray的ARR =的[例外callStackSymbols];
NSString的原因=异常的原因;
的NSString * = [异常名];
的NSString *海峡= [NSString的stringWithFormat:@“\ r \ n ============= CRASH ============= \ r \ n \ r \ n名称: %@ \ r \ n原因:%@ \ r \ nCallStackSymbols:\ r \ n%@ \ r \ n“,名称,因此,0.54 componentsJoinedByString:@”\ n“]];
的NSString *路径= [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)objectAtIndex:0] stringByAppendingPathComponent:“crash.txt”];
[STR将writeToFile:原子性路径:YES编码:NSUTF8StringEncoding有错误:无;
}
用来接管系统函数的自定义函数已经完成,下面还要在下面函数中加入保存系统当前handler,并讲自定义函数设置成新的handler。
复制代码
- (BOOL)应用:(UIApplication的)应用程序didFinishLaunchingWithOptions:(NSDictionary中)launchOptions
{
uncaughtHandler = NSGetUncaughtExceptionHandler();
NSSetUncaughtExceptionHandler(&myCaughtExceptionHandler);
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
返回YES;
}
最后还要在程序即将退出时恢复系统接管。
复制代码
- (无效)applicationWillTerminate:(UIApplication的*)的应用
{
NSSetUncaughtExceptionHandler(uncaughtHandler);
}
这样crash信息就被截取下来,并保存成crash.txt了,也可以post到服务器以方便查看,具体用法就由个人发挥了,以下是我的程序测试截取到的异常信息:
复制代码
============= CRASH =============
产品名称:NSInvalidArgumentException
原因: - [__NSArrayM objectForKey:]:无法识别的选择发送到实例0xbe4f3a0
CallStackSymbols:
0 CoreFoundation 0x30d178a7 __ exceptionPreprocess + 186
1 libobjc.A.dylib 0x30d7f259 objc_exception_throw + 32
2 CoreFoundation 0x30d1aa9b - [NSObject的doesNotRecognizeSelector:+ 174
3 CoreFoundation 0x30d19915的___ forwarding___ + 300
4 CoreFoundation 0x30c74650 _CF_forwarding_prep_0 + 48
商城0x00035303 - [CommodityDetailController ParseData:ATAG:] + 82
6购物中心0x00030303 - 网络控制器ParseData:recvData:ATAG:] + 538
7商城0x0003144f - [NetKernel connectionDidFinishLoading:+ 306]
8基金0x3059fc29 __ 65 - [NSURLConnectionInternal的_withConnectionAndDelegate:onlyActive:] _block_invoke_0 + 16
9基金会0x304f76d9 - [NSURLConnectionInternalConnection invokeForDelegate:] + 28
基础0x304f76a3 - [NSURLConnectionInternal的_withConnectionAndDelegate:onlyActive:+ 198
11基金会0x304f75c5 - [NSURLConnectionInternal的_withActiveConnectionAndDelegate:] + 60
12 CFNetwork的0x373847f5 _ZN19URLConnectionClient23_clientDidFinishLoadingEPNS_26ClientConnectionEventQueueE + 192
13 CFNetwork的0x373794a5 + 424
14 CFNetwork的0x37379599 + 668
CFNetwork的0x373791a3 _ZN19URLConnectionClient13processEventsEv 15 + 106
CFNetwork的0x373790d9 _ZN17MultiplexerSource7performEv 16 + 156
17 CoreFoundation 0x30cebad3 __ CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
18 CoreFoundation 0x30ceb29f __ CFRunLoopDoSources0 + 214
19 CoreFoundation 0x30cea045 __ CFRunLoopRun + 652
20 CoreFoundation 0x30c6d4a5 CFRunLoopRunSpecific + 300
21 CoreFoundation 0x30c6d36d CFRunLoopRunInMode + 104
22 GraphicsServices 0x33e04439 GSEventRunModal + 136
23 UIKit的0x33543e7d UIApplicationMain + 1080
24商城0x00002611主+ 60
25商城0x000025d0启动+ 40
Store中的应用程序,那么你将能看到它的崩溃日志在iTunes Connect。但是,只有当受影响的客户都选择了诊断和使用信息发送给苹果。 “
复制代码
无效myCaughtExceptionHandler(NSException的*例外)
{
NSArray的ARR =的[例外callStackSymbols];
NSString的原因=异常的原因;
的NSString * = [异常名];
的NSString *海峡= [NSString的stringWithFormat:@“\ r \ n ============= CRASH ============= \ r \ n \ r \ n名称: %@ \ r \ n原因:%@ \ r \ nCallStackSymbols:\ r \ n%@ \ r \ n“,名称,因此,0.54 componentsJoinedByString:@”\ n“]];
的NSString *路径= [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)objectAtIndex:0] stringByAppendingPathComponent:“crash.txt”];
[STR将writeToFile:原子性路径:YES编码:NSUTF8StringEncoding有错误:无;
}
用来接管系统函数的自定义函数已经完成,下面还要在下面函数中加入保存系统当前handler,并讲自定义函数设置成新的handler。
复制代码
- (BOOL)应用:(UIApplication的)应用程序didFinishLaunchingWithOptions:(NSDictionary中)launchOptions
{
uncaughtHandler = NSGetUncaughtExceptionHandler();
NSSetUncaughtExceptionHandler(&myCaughtExceptionHandler);
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
返回YES;
}
最后还要在程序即将退出时恢复系统接管。
复制代码
- (无效)applicationWillTerminate:(UIApplication的*)的应用
{
NSSetUncaughtExceptionHandler(uncaughtHandler);
}
这样crash信息就被截取下来,并保存成crash.txt了,也可以post到服务器以方便查看,具体用法就由个人发挥了,以下是我的程序测试截取到的异常信息:
复制代码
============= CRASH =============
产品名称:NSInvalidArgumentException
原因: - [__NSArrayM objectForKey:]:无法识别的选择发送到实例0xbe4f3a0
CallStackSymbols:
0 CoreFoundation 0x30d178a7 __ exceptionPreprocess + 186
1 libobjc.A.dylib 0x30d7f259 objc_exception_throw + 32
2 CoreFoundation 0x30d1aa9b - [NSObject的doesNotRecognizeSelector:+ 174
3 CoreFoundation 0x30d19915的___ forwarding___ + 300
4 CoreFoundation 0x30c74650 _CF_forwarding_prep_0 + 48
商城0x00035303 - [CommodityDetailController ParseData:ATAG:] + 82
6购物中心0x00030303 - 网络控制器ParseData:recvData:ATAG:] + 538
7商城0x0003144f - [NetKernel connectionDidFinishLoading:+ 306]
8基金0x3059fc29 __ 65 - [NSURLConnectionInternal的_withConnectionAndDelegate:onlyActive:] _block_invoke_0 + 16
9基金会0x304f76d9 - [NSURLConnectionInternalConnection invokeForDelegate:] + 28
基础0x304f76a3 - [NSURLConnectionInternal的_withConnectionAndDelegate:onlyActive:+ 198
11基金会0x304f75c5 - [NSURLConnectionInternal的_withActiveConnectionAndDelegate:] + 60
12 CFNetwork的0x373847f5 _ZN19URLConnectionClient23_clientDidFinishLoadingEPNS_26ClientConnectionEventQueueE + 192
13 CFNetwork的0x373794a5 + 424
14 CFNetwork的0x37379599 + 668
CFNetwork的0x373791a3 _ZN19URLConnectionClient13processEventsEv 15 + 106
CFNetwork的0x373790d9 _ZN17MultiplexerSource7performEv 16 + 156
17 CoreFoundation 0x30cebad3 __ CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
18 CoreFoundation 0x30ceb29f __ CFRunLoopDoSources0 + 214
19 CoreFoundation 0x30cea045 __ CFRunLoopRun + 652
20 CoreFoundation 0x30c6d4a5 CFRunLoopRunSpecific + 300
21 CoreFoundation 0x30c6d36d CFRunLoopRunInMode + 104
22 GraphicsServices 0x33e04439 GSEventRunModal + 136
23 UIKit的0x33543e7d UIApplicationMain + 1080
24商城0x00002611主+ 60
25商城0x000025d0启动+ 40
相关文章推荐
- iOS已发布应用中对异常信息捕获和处理
- iOS已发布应用中对异常信息捕获和处理
- iOS已发布应用中对异常信息捕获和处理
- iOS已发布应用中对异常信息捕获
- iOS已发布应用中对异常信息捕获和处理
- iOS已发布应用中对异常信息捕获和处理
- iOS已发布应用中对异常信息捕获和处理
- iOS —— 发布应用的异常信息捕获和处理 NSSetUncaughtExceptionHandler()
- iOS已发布应用中对异常信息捕获和处理
- iOS已发布应用中对异常信息捕获和处理
- iOS已发布应用中对异常信息捕获和处理
- iOS已发布应用中对异常信息捕获和处理 推荐
- iOS已发布应用中对异常信息捕获和处理
- iOS已发布应用中对异常信息捕获和处理
- iOS已发布应用中对异常信息捕获和处理
- iOS已发布应用中对异常信息捕获和处理 .
- iOS已发布应用中对异常信息捕获和处理
- iOS已发布应用中对异常信息捕获和处理
- iOS已发布应用中对异常信息捕获和处理
- iOS已发布应用中对异常信息捕获和处理