在Objective-C中,每当应用程序崩溃时,我都可以通过在AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSSetUncaughtExceptionHandler(&myExceptionHandler);
return YES;
}
void myExceptionHandler(NSException *exception)
{
NSArray *stack = [exception callStackReturnAddresses];
NSLog(@"Stack trace: %@", stack);
NSLog(@"MyExceptionHandler");
}
它会将堆栈跟踪日志打印到控制台,我可以使用它来调试问题的原因,而不是在main.m
没有信息的情况下结束
那我怎么能在Swift中做到这一点?
答案 0 :(得分:4)
如果我理解正确,我认为您正在寻找的是 异常断点 ,其功能与常规断点相同,但只要抛出异常就会被调用。这样,它会在抛出异常的地方停止您的应用程序,因此您可以在崩溃时看到方法,代码行和变量值。
可以通过转到 Navigator 中的 Breakpoint Navigator 选项卡,单击左下角的加号并选择“ Add Exception Breakpoint “。
可以使用各种选项编辑异常断点,方法是右键单击并选择“编辑断点”。