在我的文件中添加一个(方便的)计算height
属性会导致Swift编译器出现段错误......这里可能出现什么问题?UIView
UIViewExtension.swift
0 swift 0x00000001061e5608 llvm::sys::PrintStackTrace(__sFILE*) + 40
1 swift 0x00000001061e5af4 SignalHandler(int) + 452
2 libsystem_platform.dylib 0x00007fff894da5aa _sigtramp + 26
3 libsystem_platform.dylib 0xb03939841e997c88 _sigtramp + 2504775416
4 swift 0x00000001064c8bb9 swift::NominalTypeDecl::getMembers(bool) const + 41
5 swift 0x00000001055efab9 swift::irgen::ClassMetadataLayout<(anonymous namespace)::FindClassMethodIndex>::addClassMembers(swift::ClassDecl*) + 329
6 swift 0x00000001055e97b2 swift::irgen::emitVirtualMethodValue(swift::irgen::IRGenFunction&, llvm::Value*, swift::SILType, swift::SILDeclRef, swift::CanTypeWrapper<swift::SILFunctionType>, swift::ResilienceExpansion) + 434
7 swift 0x00000001056550d3 swift::SILVisitor<(anonymous namespace)::IRGenSILFunction, void>::visit(swift::ValueBase*) + 42611
8 swift 0x000000010564a266 swift::irgen::IRGenModule::emitSILFunction(swift::SILFunction*) + 8678
9 swift 0x00000001055cb6f8 swift::irgen::IRGenModule::emitGlobalTopLevel() + 184
10 swift 0x00000001056376e3 performIRGeneration(swift::IRGenOptions&, swift::Module*, swift::SILModule*, llvm::StringRef, llvm::LLVMContext&, swift::SourceFile*, unsigned int) + 1859
11 swift 0x0000000105638033 swift::performIRGeneration(swift::IRGenOptions&, swift::SourceFile&, swift::SILModule*, llvm::StringRef, llvm::LLVMContext&, unsigned int) + 51
12 swift 0x00000001055aa65a frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 4842
13 swift 0x00000001055a935d main + 1533
14 libdyld.dylib 0x00007fff8a82e5fd start + 1
Run Code Online (Sandbox Code Playgroud)
1. While emitting IR SIL function @_TFCSo6UIViewg6heightSd for 'anonname=0x7ff422892fd0' at <path redacted>/UIViewExtension.swift:60:5
<unknown>:0: error: unable to execute command: Segmentation fault: 11
<unknown>:0: error: swift frontend command failed due to signal (use -v to see invocation)
Command /Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift failed with exit code 254
Run Code Online (Sandbox Code Playgroud)
如果需要更多信息来解决这个问题,请发表评论.谢谢!
这是一个相关的.xcodeproj,它返回此问题的编译器错误.在这里下载
Fjo*_*ohn 74
我有这个错误,因为我这样做:
if(currentMeal?.State == .Deleted){
}
Run Code Online (Sandbox Code Playgroud)
代替
if(currentMeal!.State == .Deleted){
}
Run Code Online (Sandbox Code Playgroud)
所以我认为如果条件可以导致此错误,则可选择不解包
Bil*_*ill 25
当您在Swift中遇到编译器段错误时,您没有得到方便的行号和错误消息.以下是如何跟踪问题的方法:
SegFaultDebugger.swift
项目中调用的新文件.SegFaultDebugger.swift
.此时,发生以下三种情况之一:
SegFaultDebugger.swift
后面移动到原始文件并将一组不同的方法移入SegFaultDebugger.swift
.重复SegFaultDebugger.swift
:太棒了!现在使用二进制搜索将segfault固定为特定方法,直到您可以找出导致它的构造.vic*_*ica 12
我在扩展我的一个协议和错误输入和可选类型参数时遇到此错误.
protocol SomeProtocolName: class {
var someProtocolVariable: String { get set }
func someProtocolFunction(someProtocolVariable: String)
}
// MARK:
extension SomeProtocolName {
func someProtocolFunction(someProtocolVariable: String?) {
self.someProtocolVariable = someProtocolVariable
}
}
Run Code Online (Sandbox Code Playgroud)
String
原型和String?
扩展中函数参数的差异导致了Segmentation Fault 11.
我也有这个错误,我这样修好了:
检查您的项目并找出两次使用哪些文件并删除一个,或删除并重新添加所有文件.
我的Xcode中的错误:
:0:错误:文件名"AttributedString.swift"使用两次:'/ Users /.../CNJOB/CNJOB/AttributedString.swift'和'/Users /.../CNJOB/CNJOB/AttributedString.swift'
:0:注意:文件名用于区分具有相同名称的私有声明
:0:错误:文件名"APIClient.swift"使用两次:'/ Users /.../CNJOB/CNJOB/APIClient.swift'和'/Users /.../CNJOB/CNJOB/APIClient.swift'
:0:注意:文件名用于区分具有相同名称的私有声明
命令/应用程序/ Xcode 3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc失败,退出代码为1
在Xcode 7中,您可以单击Debug Navigator中的错误,然后您将看到崩溃的展开视图.单击右侧的汉堡按钮可以扩展错误,如果您一直向下滚动到扩展错误消息的底部,您将看到它来自何处.
对我来说,我有两个分段错误错误.在上图中,第一个是折叠时的样子,第二个是展开汉堡按钮时的样子.在展开的灰色框的最底部,您将看到一条消息,指出编译器崩溃的位置.
但请注意,错误消息有时可能不够充分,因此虽然它告诉您崩溃的位置,但并不总是说明为什么以及如何解决它.摆脱这个错误仍然是一个猜测的问题.
我发现了一个简单的解决方法,直到问题在未来的Xcode/Swift构建中修复:
.swift
正在使用的文件中.在您提供的示例项目中,放置内容 UIViewExtension.swift
及其 CALayerExtension.swift
上方 AppDelegate.swift
希望这可以让我们编写工作 Swift代码,直到问题得到解决.
归档时间: |
|
查看次数: |
55172 次 |
最近记录: |