Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS/Swift生产构建崩溃,无错误消息_Ios_Crashlytics - Fatal编程技术网

iOS/Swift生产构建崩溃,无错误消息

iOS/Swift生产构建崩溃,无错误消息,ios,crashlytics,Ios,Crashlytics,我经常在Firebase Crashlytics(在Sentry上测试-相同)中遇到崩溃,但没有任何有意义的崩溃消息。所有这些SIGABRT ABORT 0x、EXC_断点0x等等。我对iOS和本机开发都是新手(通常用于Android和.NET运行时,除了stacktrace之外,大多数时候还会收到错误消息)。我想念smth吗?它是iOS产品构建的常用工具吗?如果是这样的话,如何调试呢?只是stacktrace和行号不能准确回答发生了什么。我能期望行号至少100%正确吗 通常的崩溃是这样的: C

我经常在Firebase Crashlytics(在Sentry上测试-相同)中遇到崩溃,但没有任何有意义的崩溃消息。所有这些SIGABRT ABORT 0x、EXC_断点0x等等。我对iOS和本机开发都是新手(通常用于Android和.NET运行时,除了stacktrace之外,大多数时候还会收到错误消息)。我想念smth吗?它是iOS产品构建的常用工具吗?如果是这样的话,如何调试呢?只是stacktrace和行号不能准确回答发生了什么。我能期望行号至少100%正确吗

通常的崩溃是这样的:

Crash: Thread #1
EXC_BREAKPOINT 0x00000001011e3d78
Crashed: Thread
0  App                            0x1011e3d78 TrackMyLocationService.determinateActivityType(withGeoCoordinate:) + 154 (TrackMyLocationService.swift:154)
1  App                            0x1011e2b70 closure #1 in TrackMyLocationService.start() (<compiler-generated>)
2  App                            0x1011c3e8c thunk for @escaping @callee_guaranteed (@guaranteed CLLocation, @unowned Bool) -> () (<compiler-generated>)
3  RxSwift                        0x1035415f0 closure #1 in ObservableType.subscribe(onNext:onError:onCompleted:onDisposed:) (<compiler-generated>)
4  RxSwift                        0x1035417f0 partial apply for closure #1 in ObservableType.subscribe(onNext:onError:onCompleted:onDisposed:) (<compiler-generated>)
5  RxSwift                        0x1034f7360 AnonymousObserver.onCore(_:) (<compiler-generated>)
6  RxSwift                        0x103544068 ObserverBase.on(_:) + 25 (ObserverBase.swift:25)
7  RxSwift                        0x1035441b8 protocol witness for ObserverType.on(_:) in conformance ObserverBase<A> (<compiler-generated>)
8  RxSwift                        0x103542bdc ObserveOnSink.run(_:_:) + 118 (ObserveOn.swift:118)
9  RxSwift                        0x103543e40 partial apply for thunk for @escaping @callee_guaranteed (@unowned @callee_guaranteed () -> ()) -> () (<compiler-generated>)
10 RxSwift                        0x103551c4c partial apply for thunk for @escaping @callee_guaranteed (@in_guaranteed A, @unowned @callee_guaranteed (@in_guaranteed A) -> ()) -> () (<compiler-generated>)
11 RxSwift                        0x103551238 closure #1 in RecursiveImmediateScheduler.schedule(_:) (<compiler-generated>)
12 App                            0x1010bc71c partial apply for thunk for @escaping @callee_guaranteed (@in_guaranteed ()) -> (@out Disposable) (<compiler-generated>)
13 App                            0x1010bc8a8 partial apply for thunk for @escaping @callee_guaranteed () -> (@out Disposable) (<compiler-generated>)
14 App                            0x1010bc71c partial apply for thunk for @escaping @callee_guaranteed (@in_guaranteed ()) -> (@out Disposable) (<compiler-generated>)
15 App                            0x1010bc8a8 partial apply for thunk for @escaping @callee_guaranteed () -> (@out Disposable) (<compiler-generated>)
16 App                            0x1010bc50c closure #1 in SingleBackgroundThreadScheduler.work() (<compiler-generated>)
17 App                            0x1010bc870 partial apply for thunk for @callee_guaranteed () -> (@error @owned Error) (<compiler-generated>)
18 libswiftObjectiveC.dylib       0x1e21f9d3c autoreleasepool<A>(invoking:) + 64
19 ???                            0x59ca81010bc424 (Missing)
20 App                            0x1010bc788 partial apply (<compiler-generated>)
21 App                            0x10127da1c thunk for @escaping @callee_guaranteed () -> () (<compiler-generated>)
22 CoreFoundation                 0x1b357549c <redacted> + 24
23 ???                            0x27df01b3fd061c (Missing)
24 ???                            0x755881b4106c54 (Missing)
崩溃:线程#1
EXC_断点0x00000001011e3d78
崩溃:线程
0 App 0x1011e3d78 TrackMyLocationService.determinateActivityType(带地理坐标:)+154(TrackMyLocationService.swift:154)
TrackMyLocationService.start()中的1个应用程序0x1011e2b70闭包#1
2应用程序0x1011c3e8c thunk用于@expaign@callee_担保(@guaranted CLLocation,@unowned Bool)->())
ObservableType.subscribe中的3 RxSwift 0x1035415f0闭包#1(onNext:onError:onCompleted:onDisposed:)()
4 RxSwift 0x1035417f0部分申请ObservableType.subscribe中的闭包#1(onNext:onError:onCompleted:onDisposed:)()
5 RxSwift 0x1034f7360匿名观察者onCore(:)()
6 RxSwift 0x103544068 ObserverBase.on(:)+25(ObserverBase.swift:25)
7 RxSwift 0x1035441b8一致性ObserverBase()中(:)上的ObserverType.on的协议见证
8 RxSwift 0x103542bdc ObserveOnSink.run(::)+118(ObserveOn.swift:118)
9 RxSwift 0x103543e40部分申请转义@callee_担保的thunk(@unowned@callee_担保()->())->())
10 RxSwift 0x103551c4c部分申请thunk for@escaping@callee_担保(@in_担保A,@unowned@callee_担保(@in_担保A)->())->()
11 RxSwift 0x103551238在RecursiveImmediateScheduler.schedule()中的闭包#1
12 App 0x1010bc71c部分申请thunk for@escaping@callee\u担保(@in\u担保())->(@out一次性)()
13 App 0x1010bc8a8部分申请thunk for@escaping@callee_担保()->(@out一次性)()
14 App 0x1010bc71c部分申请thunk for@escaping@callee\u担保(@in\u担保())->(@out一次性)()
15 App 0x1010bc8a8部分申请thunk for@escaping@callee_担保()->(@out一次性)()
SingleBackgroundThreadScheduler.work()中的16 App 0x1010bc50c闭包#1
17 App 0x1010bc870部分申请@callee_担保()->(@error@owned error)()
18 libswiftObjectiveC.dylib 0x1e21f9d3c自动删除池(调用:)+64
19 ???                            0x59ca81010bc424(缺失)
20 App 0x1010bc788部分应用()
21应用程序0x10127da1c thunk for@escaping@callee_保证()->()()
22芯基础0x1b357549c+24
23 ???                            0x27df01b3fd061c(缺失)
24 ???                            0x755881b4106c54(缺失)

iOS有时会出现这样的错误,而.NET没有这样的错误,这是因为Swift和Objective-C都被编译到架构的汇编中。C#是编译的,但它是一个字节码,不完全在硬件上运行。有时,Swift编译的代码没有关联的错误消息,因为错误发生在程序集本身


这里有一些更多的信息:

iOS有时会出现这样的错误,而.NET不会出现这样的错误,原因是Swift和Objective-C都被编译到架构的汇编中。C#是编译的,但它是一个字节码,不完全在硬件上运行。有时,Swift编译的代码没有关联的错误消息,因为错误发生在程序集本身


以下是一些详细信息:

您能否分享更多关于崩溃的详细信息,以及您的应用程序在哪个过程中崩溃?您是否添加了任何观察者?是的。这只是一次典型的碰撞。问题的关键不在于具体的崩溃,而在于iOS世界在生产崩溃中错过错误消息的情况有多普遍。对于.NET来说,这是非常不寻常的。你能分享更多关于崩溃的详细信息吗?你的应用程序在哪个过程中崩溃了?你添加了任何观察者吗?是的。这只是一次典型的碰撞。问题的关键不在于具体的崩溃,而在于iOS世界在生产崩溃中错过错误消息的情况有多普遍。对于.NET而言,.NET字节码在运行时通过CLR编译为本机代码是很不寻常的。我认为字节码并没有赋予C在运行时报告更可读异常的独特能力。在这一点上,我的想法是它在iOS上如此,因为它如此。就像Swift不能在崩溃日志中放入/保留异常消息没有什么大的概念上的原因一样,它只是因为各种原因在各种情况下不能这样做。与iOS一样,由于安全原因,fatalError函数会从崩溃日志中删除错误消息。.NET字节码在运行时由CLR编译为本机代码。我认为字节码并没有赋予C在运行时报告更可读异常的独特能力。在这一点上,我的想法是它在iOS上如此,因为它如此。就像Swift不能在崩溃日志中放入/保留异常消息没有什么大的概念上的原因一样,它只是因为各种原因在各种情况下不能这样做。与iOS一样,由于安全原因,fatalError函数会从崩溃日志中删除错误消息。