iOS/Swift 生产构建崩溃而没有错误消息

标签 ios crashlytics

我经常在 Firebase Crashlytics 中崩溃(在 Sentry 上测试 - 相同),但没有任何有意义的崩溃消息。所有这些 SIGABRT ABORT 0x、EXC_BREAKPOINT 0x 等。我是 iOS 和一般 native 开发的新手(习惯于 Android 和 .NET 运行时,在大多数情况下,除了堆栈跟踪之外,您还会收到错误消息)。我是否想念 smth 并且它是 iOS 生产构建的常见内容?如果是这样,如何调试呢?只是堆栈跟踪和行号并不能准确回答发生了什么。我可以期望行号至少 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)

最佳答案

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

这里有更多信息:Scope of causes for EXC_BREAKPOINT crash

关于iOS/Swift 生产构建崩溃而没有错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58036263/

相关文章:

ios - AVPlayer 在播放 HLS/AES 加密视频之前发出无关的 http 请求

iphone - 在 iOS 上使用 Web 服务的最佳方式?

ios - 在指定时间执行方法

android - 如何阅读 Crashlytics?

ios - 升级 iOS 应用的 Fabric 和 Crashlytics

ios - 崩溃 [RMMessageFormatter getFormatedStatusFromDisk](IOS obj-c)

iphone - 如何使用 MailCore 定期获取新邮件

ios - 如何更改 uiscrollview ios 中滚动指示器的宽度?

iOS swift : Send log information to iOS app from iOS framework

ios - 我如何使用 Fabric 的/Crashlytics 的代码来检查设备是否越狱?