2017-04-01 129 views
1

我有一个完成的项目,包括30vcs,Firebase,Googlemaps集成等 - 也就是一个非常复杂的项目,它是一个基于地理位置的游戏,我终于经过几个月的工作完成。中止陷阱:新Swift 3.1/Xcode 8.3中的错误8.3

工作和编译得很好,直到我试图编译它在新的Swift 3.1/Xcode 8.3中。

更改几行建议的语法以清除新的XCODE 8.3错误之后,编译失败并显示“Abort Trap:6”错误。

这是调试器的最后几行(在此之前,约100行不可理解的文件名/数字等)。

0迅速0x00000001089f1eb7 PrintStackTraceSignalHandler(无效*)+ 39 1迅速
0x00000001089f1366 SignalHandler(INT)+ 646 2 libsystem_platform.dylib 0x00007fffc602eb3a _sigtramp + 26 3 libsystem_platform.dylib 0x0000000100000001 _sigtramp + 972887265 4 libsystem_c。 dylib 0x00007fffc5eb3420中止+ 129 5迅速
0x0000000106454644 迅速:: ModuleFile :: getDecl(LLVM :: PointerEmbeddedInt, LLVM ::可选)+ 38404 6迅速
0x00000001064564fa 迅速:: ModuleFile ::的getType(LLVM :: PointerEmbeddedInt) + 2106 7迅速0x000000010644f373迅速:: ModuleFile :: getDecl(LLVM :: PointerEmbeddedInt, LLVM ::可选)+ 17203 8迅速
0x0000000106459f24 迅速:: ModuleFile :: maybeReadPattern(SWIFT :: DeclContext *)+ 740 9 迅速0x000000010644f605 迅速:: ModuleFile :: getDecl(LLVM :: PointerEmbeddedInt, LLVM ::可选)+ 17861 10迅速
0x00000001064607c8迅速:: ModuleFile :: loadAllMembers(swift :: Decl *, unsigned long long)+ 600 11 swift
0x0000000106840f0d swift :: NominalTypeDecl :: getMembers()const + 125 12 迅速0x0000000106828c75(匿名 命名空间)::遍历:: visitNominalTypeDecl(SWIFT :: NominalTypeDecl *)+ 869 13迅速0x0000000106826645(匿名 命名空间)::遍历:: doIt方法(SWIFT ::申报*)+ 277 14迅速
0x000000010619a75f 迅速:: SILPassManager :: SILPassManager(SWIFT :: SILModule *, LLVM :: StringRef)+ 1471 15迅速0x00000001061a135f 迅速:: runSILDiagnosticPasses(SWIFT :: SILModule &)+ 159 16迅速
0x0000000105811282迅速:: performFrontend(llvm :: ArrayRef, char const *,void *,swift :: FrontendObserver *)+ 42866 17 swift
0x00000001057c088c主+ 9052 18 libdyld。dylib
0x00007fffc5e1f235启动+ 1堆栈转储:

(这里是约150不可理解调试号/文件/ alphanumericals的线 - 随后这到底):

  1. 尽管装填构件在模块 '主页' 'googleMapsPractice'
  2. 虽然反序列化PatternBindingDecl#295in 'googleMapsPractice'
  3. 尽管在反序列化 'gameDBRef'(VarDecl#296) 'googleMapsPractice'
  4. 尽管在 'googleMapsPractice'
  5. 交叉引用模块 'FirebaseDatabase' 反序列化DECL#1009(XREF)... FIRDatabaseReference

我真的陷入了困境,因为我不知道在哪里寻找调试。

'homePage.swift'是游戏的设置页面VC,是唯一在调试器中引用的VC,有没有解决陷阱Trap 6错误的常见解决方案,我可以试试这个VC呢?这大概是2000行代码,我甚至不确定问题在于VC,因为调试器太模糊了。

任何帮助,将不胜感激

+1

在C中,“中止陷阱:6”是指超出允许的内存写入,通常写入一个不够大的数组时。 – GlennRay

+0

感谢您的评论 - 我使用的所有数组正在编译,直到xcode 8.2 - 任何方式来检查哪个特定的数组可能会导致此?我有几个数组,用.append添加到代码中,完全没有问题。另外 - 任何想法,如果上述调试信息意味着问题在于“homepage.swift”,或者它可能仍然在任何地方? – Apneist

+0

我假设你已经尝试了通常的嫌疑犯,例如重新启动Xcode,清理项目,删除派生数据等。正确吗?如果没有,你可能想首先尝试,如果你仍然有这个问题,编译器错误的完整截图可能会帮助别人帮助你。如果你可以与我分享这个项目,我很乐意看看,但我有一种感觉,你可能不会太热衷于:) – Fahim

回答

1

在我的情况,看来,它是由于本地项目计划在我的应用程序试图连接到项目构建缺相。

1

我遇到了同样的问题。我终于明白,它是由任何从NSObject继承的类重写'var description'造成的。我注意到在Swift 3.1中有一个关于NSObject的'class func description()',我不一定记得在Swift 3.0中(虽然我可能很容易被误认为这个假设;我从来没有找过或用它)。另请参见https://forums.developer.apple.com/thread/75700

2

这发生在我身上,因为我曾在主class既是private enum,那类的extension。这两个文件都在同一个文件中。整蛊!

1

我遇到了错误,因为我的类有一个不同的名称比文件名。更正后的文件名和一切工作正常,然后