ios 收集crash xcode 调试 捕捉signal信号
来源:互联网 发布:真盖塔 知乎 编辑:程序博客网 时间:2024/05/22 17:02
//处理信号类型的异常
void SignalExceptionHandler(int signal)
{
NSMutableString *mstr = [[NSMutableStringalloc] init];
[mstr appendString:@"Stack:\n"];
void* callstack[128];//堆栈方法数组
int i, frames =backtrace(callstack, 128);//从iOS的方法backtrace中获取错误堆栈方法指针数组,返回数目
char** strs =backtrace_symbols(callstack, frames);//符号化
for (i =0; i <frames; ++i) {
[mstr appendFormat:@"%s\n", strs[i]];
}
// NSMutableArray *symbolsBackTrace=[NSMutableArray arrayWithCapacity:frames];
// for (i=0; i<UncaughtExceptionHandlerReportAddressCount; i++) {
// [symbolsBackTrace addObject:[NSString stringWithUTF8String:strs[i]]];
// }
// free(strs);
[SignalHandlersaveCreash:mstr];
}
void InstallSignalHandler(void)
{
signal(SIGHUP,SignalExceptionHandler);
signal(SIGINT,SignalExceptionHandler);
signal(SIGQUIT,SignalExceptionHandler);
signal(SIGABRT,SignalExceptionHandler);
signal(SIGILL,SignalExceptionHandler);
signal(SIGSEGV,SignalExceptionHandler);
signal(SIGFPE,SignalExceptionHandler);
signal(SIGBUS,SignalExceptionHandler);
signal(SIGPIPE,SignalExceptionHandler);
}
关于signal信号的捕捉,在Xcode调试时,Debugger模式会先于我们的代码catch到所有的crash,所以需要直接从模拟器中进入程序才可以测试
http://blog.csdn.net/skylin19840101/article/details/52935637
但是在Xcode里调试的时候,程序不会进入SignalExceptionHandler处理函数里
我们需要在lldb中输入以下命令,signal的回调就可以进来了
pro hand -p true -s false SIGABRT
注意:SIGABRT可以替换为你需要的任何signal类型,比如SIGSEGV- ios 收集crash xcode 调试 捕捉signal信号
- signal信号捕捉
- signal信号捕捉
- signal() 捕捉信号
- signal 函数捕捉信号
- signal信号捕捉
- 【置顶] signal信号捕捉
- signal() 捕捉信号
- unix signal信号捕捉机制
- 【IOS】xcode调试命令收集
- Xcode里调试signal的信号回调处理函数
- 如何在 iOS 上避免 SIGPIPE 信号导致的 crash (Avoiding SIGPIPE signal crash in iOS)
- [UNIX]signal函数捕捉SIGCLD信号
- gdb中调试signal信号
- gdb中调试signal信号
- iOS Crash收集框架
- IOS开发——Xcode调试SIGPIPE信号解决办法
- 程序如何捕捉signal函数参数中指定的信号
- Java内存数据库-H2介绍及实例(SpringBoot)
- ES6学习笔记之《Symbol》
- angularjs2 如何嵌套多层循环
- XML文档解析之DOM4J解析
- ajax 重定向跨域问题
- ios 收集crash xcode 调试 捕捉signal信号
- Android 当前日期,计算时间推后几天和提前几天的封装方法
- 线性表的链式描述
- Python:MECARD字符串转json
- 微信分享
- 百度地图的集成过程
- iOS
- 统计胜负
- android Studio 加快编译速度(2017-06-21版)