获取栈调度信息

来源:互联网 发布:手机看网络电视流量 编辑:程序博客网 时间:2024/06/09 21:08

获取当前线程的栈调度信息:

NSMutableDictionary *libProperties = [[NSMutableDictionaryalloc] init];


NSArray *syms = [NSThreadcallStackSymbols];

    

    if ([syms count] >2) {

        NSString *trace = [symsobjectAtIndex:2];

        

        NSRange start = [tracerangeOfString:@"["];

        NSRange end = [tracerangeOfString:@"]"];

        if (start.location !=NSNotFound && end.location !=NSNotFound && end.location > start.location) {

            NSString *trace_info = [tracesubstringWithRange:NSMakeRange(start.location+1, end.location-(start.location+1))];

            NSRange split = [trace_inforangeOfString:@" "];

            NSString *class = [trace_infosubstringWithRange:NSMakeRange(0, split.location)];

            NSString *function = [trace_infosubstringWithRange:NSMakeRange(split.location +1, trace_info.length-(split.location +1))];

            

            NSString *detail = [NSStringstringWithFormat:@"%@##%@####", class, function];

            [libProperties setValue:detailforKey:@"detail"];

        }

    }

1 0
原创粉丝点击