可以正常运行且没有问题的单元测试,现在由于错误EXC_BAD_ACCESS(代码= EXC_I386_GPFLT)而崩溃。这是相关的堆栈跟踪:
显然,数组的元素无法编码,可能是因为使用其哈希值访问字典失败了。由于这是在SQLQueue线程中发生的,因此我怀疑另一个线程在编码过程中确实修改了字典。
问题是如何解决这样的问题?
编辑:由于我有一个Watch Extension,因此无法在该方案中启用Thread Sanitizer,这会阻止它。
答案 0 :(得分:0)
您的问题是如何赶上坠机事故吗? 如果是,
对于Objective-C,NSSetUncaughtExceptionHandler
,
对于Swift
signal(SIGABRT, handler)
signal(SIGILL, handler)
signal(SIGSEGV, handler)
signal(SIGFPE, handler)
signal(SIGBUS, handler)
signal(SIGPIPE, handler)
更新: 我刚刚搜索过,似乎其他人在讨论它