我正在调试Objective-C应用程序,并希望在ObjC库中看到方法调用(出于教育目的!)。这样做的最佳方式是什么?
答案 0 :(得分:4)
// print a stacktrace
NSLog(@"%@", [NSThread callStackSymbols]); // requires iOS 4
或
// print stacktrace using C functions
#import <execinfo.h>
#import <unistd.h>
void PrintStackTrace() {
void *stackAdresses[32];
int stackSize = backtrace(stackAdresses, 32);
backtrace_symbols_fd(stackAdresses, stackSize, STDOUT_FILENO);
}
或在XCode中设置断点以暂停执行,然后在控制台中键入GDB命令或只在调试导航器选项卡中查看堆栈。