#include <libkern/OSAtomic.h>
#include <execinfo.h>
tatic void getStackList()
{
void* callstack[128];
int frames = backtrace(callstack, 128);
char **strs = backtrace_symbols(callstack, frames);
int i;
NSMutableArray *backtrace = [NSMutableArray arrayWithCapacity:frames];
for (i = 0;i < 4;i++){
[backtrace addObject:[NSString stringWithUTF8String:strs[i]]];
}
free(strs);
DDLogDebug(@"=====>>>>>堆栈<<<<<=====\n%@",backtrace);
}
//测试代码
[NSTimer timerWithTimeInterval:5 repeats:YES block:^(NSTimer * _Nonnull timer) {
getStackList();
}];
网友评论