跟踪记录线上常见崩溃
Posted diyigechengxu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跟踪记录线上常见崩溃相关的知识,希望对你有一定的参考价值。
@implementation NSArray (LXZArray)
+ (void)load {
[
super
load];
Method fromMethod = class_getInstanceMethod(objc_getClass(
"__NSArrayI"
), @selector(objectAtIndex:));
Method toMethod = class_getInstanceMethod(objc_getClass(
"__NSArrayI"
), @selector(lxz_objectAtIndex:));
method_exchangeImplementations(fromMethod, toMethod);
}
- (id)lxz_objectAtIndex:(NSUInteger)index {
if
(self.count-1 < index) {
// 这里做一下异常处理,不然都不知道出错了。
@
try
{
return
[self lxz_objectAtIndex:index];
}
@
catch
(NSException *exception) {
// 在崩溃后会打印崩溃信息,方便我们调试。
NSLog(@
"---------- %s Crash Because Method %s ----------
"
, class_getName(self.class), __func__);
NSLog(@
"%@"
, [exception callStackSymbols]);
// 将以上信息通过接口上传或者自定义error上传到bugly。可达到跟踪目的
return
nil;
}
@finally {}
}
else
{
return
[self lxz_objectAtIndex:index];
}
}
@end
以上是关于跟踪记录线上常见崩溃的主要内容,如果未能解决你的问题,请参考以下文章