如何在Xcode iOS模拟器中让应用崩溃以测试UncaughtExceptionHandler
解决Xcode模拟器中异常断点拦截应用崩溃的问题
这问题我太熟了!Xcode默认的异常断点会在抛出异常时立刻暂停程序,导致你没法看到应用自然崩溃的状态,也就没法测试UncaughtExceptionHandler的效果。解决方法很简单,分这几步来:
- 打开Xcode的断点导航栏:点击左侧边栏最下方的断点图标(或者直接按快捷键
Cmd + 8) - 找到列表里的
All Exceptions断点:它左边有个蓝色的箭头,点击这个箭头让它变成灰色,就完成禁用了。要是你没找到这个断点,说明之前没添加过,那大概率是其他针对性的异常断点(比如Swift Error Breakpoint),同样找到后禁用就行。
如果你不想完全禁用所有异常断点,只想调整触发时机,也可以这么操作:
- 右键点击
All Exceptions断点,选择Edit Breakpoint - 在弹出的编辑窗口里,把
Exception选项从All改成你不需要拦截的类型(比如只留Objective-C或者Swift),或者把Break的触发条件从On Throw改成On Catch——这样抛出异常时不会触发断点,只有捕获异常时才会暂停,不影响你测试未捕获异常的场景。
禁用之后再跑测试,抛出未捕获异常时应用就会直接崩溃,你就能验证UncaughtExceptionHandler是否正常工作了。记得测试完后把断点重新打开哦,日常调试还是很有用的!
内容的提问来源于stack exchange,提问作者mauron85
相关产品推荐
相关产品推荐

