如果我的应用程序崩溃,我会在All Output
窗口中获取信息,如下所示:
未捕获的异常: * - [NSPlaceholderMutableString initWithString:]: nil argument 2013-02-28 04:09:15.209 Cpp [948:907] 终止应用 由于未被捕获的异常'NSInvalidArgumentException',原因:' - [NSPlaceholderMutableString initWithString:]:nil参数' * 第一次抛出调用堆栈:(0x3336b3e7 0x3b05c963 0x3336b307 0x33bf0eb5 0x33c0ab8b 0xd16ed 0xd0a63 0xc3e79 0xc5cfd 0x3336ead4 0x332c628f 0x332c5de3 0x39be081b 0x3336d737 0x332c5208 0x3336ead4 0x332c628f 0x3930bc5b 0x39348ce1 0x333408f7 0x3334015d 0x3333ef2f 0x332b223d 0x332b20c9 0x36e9033b 0x351ce2b9 0xc0109 0xc00a0) libc ++ abi.dylib:terminate调用抛出异常(lldb)
调用堆栈如下:
哪些方面有助于解决问题?我的调用堆栈方法在哪里?我的代码行在哪里? xCode有什么问题以及如何解决这个问题?
答案 0 :(得分:8)
这是我为了获得堆栈跟踪而做的事情。
在AppDelegate.m文件中:
void uncaughtExceptionHandler(NSException *exception) {
NSLog(@"Call Stack: %@", exception.callStackSymbols);
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
// The rest of your method here...
}