当我不得不打印堆栈跟踪时,我已经使用了几次:
+ (NSArray *)backtrace
{
void* callstack[128];
int frames = backtrace(callstack, 128);
char **strs = backtrace_symbols(callstack, frames);
int i;
NSMutableArray *backtrace = [NSMutableArray arrayWithCapacity:frames];
for (
i = UncaughtExceptionHandlerSkipAddressCount;
i < UncaughtExceptionHandlerSkipAddressCount +
UncaughtExceptionHandlerReportAddressCount;
i++)
{
[backtrace addObject:[NSString stringWithUTF8String:strs[i]]];
}
free(strs);
return backtrace;
}
Run Code Online (Sandbox Code Playgroud)
"当应用程序在iPhone上崩溃时,它会在不告诉用户发生了什么的情况下消失.但是,可以向应用程序添加异常和信号处理,以便向用户显示错误消息,或者您可以保存更改.甚至可以尝试从这种情况中恢复而不会崩溃." 请查看http://cocoawithlove.com/2010/05/handling-unhandled-exceptions-and.html
| 归档时间: |
|
| 查看次数: |
1225 次 |
| 最近记录: |