swift - 快速崩溃日志

标签 swift logging crash

我使用Fabric监视应用程序中的崩溃,但是在打印的日志中找到我的方法之后,我发现测试没有问题。请帮我看看是什么原因?谢谢~~~
像这样记录:

# 0. Crashed: com.apple.main-thread
0  EFB                            0x1041e2018 specialized FightPlanViewController.dispatchClick(\_:) (FightPlanViewController.swift:346)
1  EFB                            0x1041db4d8 @objc FightPlanViewController.dispatchClick(\_:) + 4371969240
2  UIKit                          0x18b5c26c8 -\[UIApplication sendAction:to:from:forEvent:] + 96
3  UIKit                          0x18b6e38a4 -\[UIControl sendAction:to:forEvent:] + 80
4  UIKit                          0x18b5c877c -\[UIControl \_sendActionsForEvents:withEvent:] + 440
5  UIKit                          0x18b6fe1dc -\[UIControl touchesEnded:withEvent:] + 572
6  UIKit                          0x18bba3dd8 \_UIGestureEnvironmentSortAndSendDelayedTouches + 4340
7  UIKit                          0x18bba0b50 \_UIGestureEnvironmentUpdate + 1236
8  UIKit                          0x18b63b540 -\[UIGestureEnvironment \_deliverEvent:toGestureRecognizers:usingBlock:] + 404
9  UIKit                          0x18b63b078 -\[UIGestureEnvironment \_updateGesturesForEvent:window:] + 276
10 UIKit                          0x18b63a8dc -\[UIWindow sendEvent:] + 3132
11 UIKit                          0x18b639238 -\[UIApplication sendEvent:] + 340
12 UIKit                          0x18be1ac0c \_\_dispatchPreprocessedEventFromEventQueue + 2340
13 UIKit                          0x18be1d1b8 \_\_handleEventQueueInternal + 4744
14 UIKit                          0x18be16258 \_\_handleHIDEventFetcherDrain + 152
15 CoreFoundation                 0x18183b404 __CFRUNLOOP\_IS\_CALLING\_OUT\_TO\_A\_SOURCE0\_PERFORM\_FUNCTION__ + 24
16 CoreFoundation                 0x18183ac2c \_\_CFRunLoopDoSources0 + 276
17 CoreFoundation                 0x18183879c \_\_CFRunLoopRun + 1204
18 CoreFoundation                 0x181758da8 CFRunLoopRunSpecific + 552
19 GraphicsServices               0x18373b020 GSEventRunModal + 100
20 UIKit                          0x18b73978c UIApplicationMain + 236
21 EFB                            0x1041470c8 main (AppDelegate.swift:18)
22 libdyld.dylib                  0x1811e9fc0 start + 4

--

            0x1811e9fc0 start + 4

# 1. Thread
0  libsystem\_kernel.dylib         0x181319d84 \_\_workq\_kernreturn + 8
1  libsystem\_pthread.dylib        0x1814b7eb4 \_pthread\_wqthread + 928
2  libsystem\_pthread.dylib        0x1814b7b08 start\_wqthread + 4

# 2. Thread
0  libsystem\_kernel.dylib         0x1813190f4 \_\_psynch\_cvwait + 8
1  libsystem\_pthread.dylib        0x1814bbc90 \_pthread\_cond\_wait$VARIANT$mp + 644
2  PSPDFKit                       0x104cd30b8 PSPDFBundleImage + 208312
3  PSPDFKit                       0x104cd151c PSPDFBundleImage + 201244
4  PSPDFKit                       0x104f13328 boost::thread::start\_thread\_noexcept() + 392
5  libsystem\_pthread.dylib        0x1814b9220 \_pthread\_body + 272
6  libsystem\_pthread.dylib        0x1814b9110 \_pthread\_body + 290
7  libsystem\_pthread.dylib        0x1814b7b10 thread\_start + 4

# 3. com.apple.uikit.eventfetch-thread
0  libsystem\_kernel.dylib         0x1812f7e08 mach\_msg\_trap + 8
1  libsystem\_kernel.dylib         0x1812f7c80 mach\_msg + 72
2  CoreFoundation                 0x18183ae40 \_\_CFRunLoopServiceMachPort + 196
3  CoreFoundation                 0x181838908 \_\_CFRunLoopRun + 1568
4  CoreFoundation                 0x181758da8 CFRunLoopRunSpecific + 552
5  Foundation                     0x1821cd674 -\[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304
6  Foundation                     0x1821cd51c -\[NSRunLoop(NSRunLoop) runUntilDate:] + 148
7  UIKit                          0x18b41e7e4 -\[UIEventFetcher threadMain] + 136
8  Foundation                     0x1822ddefc __NSThread\_\_start__ + 1040
9  libsystem\_pthread.dylib        0x1814b9220 \_pthread\_body + 272
10 libsystem\_pthread.dylib        0x1814b9110 \_pthread\_body + 290
11 libsystem\_pthread.dylib        0x1814b7b10 thread\_start + 4

# 4. com.twitter.crashlytics.ios.MachExceptionServer
0  EFB                            0x1042b861c CLSProcessRecordAllThreads + 4372874780
1  EFB                            0x1042b861c CLSProcessRecordAllThreads + 4372874780
2  EFB                            0x1042b84d8 CLSProcessRecordAllThreads + 4372874456
3  EFB                            0x1042a79b8 CLSHandler + 4372806072
4  EFB                            0x1042a29cc CLSMachExceptionServer + 4372785612
5  libsystem\_pthread.dylib        0x1814b9220 \_pthread\_body + 272
6  libsystem\_pthread.dylib        0x1814b9110 \_pthread\_body + 290
7  libsystem\_pthread.dylib        0x1814b7b10 thread\_start + 4

# 5. CCP Socket Thead
0  libsystem\_kernel.dylib         0x1812f7e08 mach\_msg\_trap + 8
1  libsystem\_kernel.dylib         0x1812f7c80 mach\_msg + 72
2  CoreFoundation                 0x18183ae40 \_\_CFRunLoopServiceMachPort + 196
3  CoreFoundation                 0x181838908 \_\_CFRunLoopRun + 1568
4  CoreFoundation                 0x181758da8 CFRunLoopRunSpecific + 552
5  Foundation                     0x1821cd674 -\[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304
6  Foundation                     0x1822421a8 -\[NSRunLoop(NSRunLoop) run] + 88
7  EFB                            0x1042f0028 -\[MPASConnectTask networkRequestThreadEntryPoint:] (MPASConnectTask.m:173)
8  Foundation                     0x1822ddefc __NSThread\_\_start__ + 1040
9  libsystem\_pthread.dylib        0x1814b9220 \_pthread\_body + 272
10 libsystem\_pthread.dylib        0x1814b9110 \_pthread\_body + 290
11 libsystem\_pthread.dylib        0x1814b7b10 thread\_start + 4

# 6. com.apple.NSURLConnectionLoader
0  libsystem\_kernel.dylib         0x1812f7e08 mach\_msg\_trap + 8
1  libsystem\_kernel.dylib         0x1812f7c80 mach\_msg + 72
2  CoreFoundation                 0x18183ae40 \_\_CFRunLoopServiceMachPort + 196
3  CoreFoundation                 0x181838908 \_\_CFRunLoopRun + 1568
4  CoreFoundation                 0x181758da8 CFRunLoopRunSpecific + 552
5  CFNetwork                      0x1820664b0 -\[\_\_CoreSchedulingSetRunnable runForever] + 220
6  Foundation                     0x1822ddefc __NSThread\_\_start__ + 1040
7  libsystem\_pthread.dylib        0x1814b9220 \_pthread\_body + 272
8  libsystem\_pthread.dylib        0x1814b9110 \_pthread\_body + 290
9  libsystem\_pthread.dylib        0x1814b7b10 thread\_start + 4

# 7. com.apple.CFSocket.private
0  libsystem\_kernel.dylib         0x181319538 \_\_select + 8
1  CoreFoundation                 0x181843378 \_\_CFSocketManager + 644
2  libsystem\_pthread.dylib        0x1814b9220 \_pthread\_body + 272
3  libsystem\_pthread.dylib        0x1814b9110 \_pthread\_body + 290
4  libsystem\_pthread.dylib        0x1814b7b10 thread\_start + 4

# 8. com.apple.root.default-qos
0  libsystem\_kernel.dylib         0x1813190f4 \_\_psynch\_cvwait + 8
1  libsystem\_pthread.dylib        0x1814bbc90 \_pthread\_cond\_wait$VARIANT$mp + 644
2  EFB                            0x1042f1690 -\[MPASConnectTask onCall] (MPASConnectTask.m:455)
3  EFB                            0x1042f2480 -\[MPRequestRetrier doTaskRun] (MPRequestRetrier.m:86)
4  libdispatch.dylib              0x181184b24 \_dispatch\_call\_block\_and\_release + 24
5  libdispatch.dylib              0x181184ae4 \_dispatch\_client\_callout + 16
6  libdispatch.dylib              0x18118bc08 \_dispatch\_queue\_override\_invoke$VARIANT$mp + 716
7  libdispatch.dylib              0x181191d30 \_dispatch\_root\_queue\_drain + 588
8  libdispatch.dylib              0x181191a80 \_dispatch\_worker\_thread3 + 120
9  libsystem\_pthread.dylib        0x1814b7fac \_pthread\_wqthread + 1176
10 libsystem\_pthread.dylib        0x1814b7b08 start\_wqthread + 4

# 9. Thread
0  libsystem\_kernel.dylib         0x181319d84 \_\_workq\_kernreturn + 8
1  libsystem\_pthread.dylib        0x1814b7eb4 \_pthread\_wqthread + 928
2  libsystem\_pthread.dylib        0x1814b7b08 start\_wqthread + 4

# 10. Thread
0  libsystem\_kernel.dylib         0x181319d84 \_\_workq\_kernreturn + 8
1  libsystem\_pthread.dylib        0x1814b80a0 \_pthread\_wqthread + 1420
2  libsystem\_pthread.dylib        0x1814b7b08 start\_wqthread + 4


@objc func dispatchClick(_ sender:UIButton){
    let tag = sender.tag-100
    sender.isEnabled = false
    let flightId:String = FightModelManger.defaultManger.selectAll()[tag].flightId
    if sender.titleLabel?.text == "下载"||sender.titleLabel?.text == "DOWNLOAD"||sender.titleLabel?.text == "未生成"||sender.titleLabel?.text == "UNREALEASED"{
        self.checkDispatchUpdate(flightId: flightId, tag, true)
    }else{ 
        self.checkDispatchUpdate(flightId: flightId,tag, false)
    }
}



func checkDispatchUpdate(flightId:String,_ index:Int,_ isFirst:Bool){
    let button = self.view.viewWithTag(100+index) as! UIButton    
    let model = DispatchInfoModelManger.defaultManger.selectflightId(flightId: flightId)
    var  para = ["flightId":"","lastUpdateTime":""]
    if model.count == 0{
        para["flightId"] = flightId
        para["lastUpdateTime"] = "1900-01-01 00:00:00"
    }else{
        if let time = model.first?.dispatchTime{
            para["flightId"] = flightId
            para["lastUpdateTime"] = time
        }
    }
    let manger = Alamofire.SessionManager.default  //  网络超时
    manger.session.configuration.timeoutIntervalForRequest = 10
    if NetWorkState.isReachable(){
        manger.request(ReleaseInfoCheckURL, method: .get, parameters: para, encoding: URLEncoding.default, headers: nil).responseJSON(completionHandler: { (response) in
            switch response.result{
            case .success:
                if let dic = response.result.value {
                    let status = (dic as! NSDictionary)["status"]as! String
                    if status == "0"{  // 表示放行资料可以下载
                        self.downloadDispatchInfo(flightId: flightId, index)
                        DispatchQueue.main.async {
                             if self.aUser.nation == "CN"{
                                SVProgressHUD.show(withStatus: "正在下载放行资料,请稍候")
                                button.isEnabled = true
                            }else if self.aUser.nation == "EN"{
                                SVProgressHUD.show(withStatus: "Downloading the Release Data, please Wait a Minute")
                                button.isEnabled = true
                            }
                            SVProgressHUD.setBackgroundColor(kRGBColorFromHex(rgbValue:0x66CDAA))
                            SVProgressHUD.setForegroundColor(UIColor.black)
                            Mainwindow?.addSubview(self.maskView)
                        }
                    }else {
                        if model.count == 0{ 
                            if self.aUser.nation == "CN"{
                                self.alter(title: "抱歉", "放行资料未生成")
                                button.isEnabled = true
                            }else if self.aUser.nation == "EN"{
                                self.alter(title: "SORRY", "Release Data Not Generated")
                                button.isEnabled = true
                            }
                        }else{ 
                            let release = ReleaseViewController()
                            release.flightId = flightId
                            self.navigationController?.pushViewController(release, animated: true)
                            button.isEnabled = true
                        }
                    }
                }
            case .failure(let error):
                if (error._code == -1005)||(error._code == -1009){
                    SVProgressHUD.dismiss()
                    self.maskView.removeFromSuperview()
                    if self.aUser.nation == "CN"{
                        SVProgressHUD.showError(withStatus: "网络超时或链接错误")
                        button.isEnabled = true
                    }else if self.aUser.nation == "EN"{
                        SVProgressHUD.showError(withStatus: "Network Timeout or Link Error")
                        button.isEnabled = true
                    }
                    SVProgressHUD.dismiss(withDelay: 2)
                    return
                }
            }
        })
    }else{ 
        if model.count == 0{ 
            if self.aUser.nation == "CN"{
                 self.alter(title: "无网络", "抱歉无法检测")
                button.isEnabled = true
            }else if self.aUser.nation == "EN"{
                 self.alter(title: "No Network", "Sorry! Unable to Check")
                button.isEnabled = true
            }
        }else{
            let release = ReleaseViewController()
            release.flightId = flightId
            self.navigationController?.pushViewController(release, animated: true)
            button.isEnabled = true
        }
    }
}

在此日志中,我找到了FightPlanViewController.dispatchClick(_ :),我猜它可能在其中崩溃了,但是我使用ipad对其进行了测试,但找不到原因。你能帮我吗 ?非常感谢

最佳答案

在Fabric页面的顶部,它将显示文件和应用程序崩溃所在的行。
参见示例:

enter image description here

关于swift - 快速崩溃日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50694014/

相关文章:

ios - UITableView 的 reloadData 与动态单元格高度不需要的滚动

Java:为什么这个列表落后于我的游戏 “Out of Memory”

python - django.db.backends sql 查询调试日志中需要数据库别名(connection_name)

当我在真实手机上运行我的应用程序时,android studio logcat 不显示崩溃的原因

linux - 速率高时检测到 httperf 缓冲区溢出

swift - 完成 block 从不在 SKAction 组序列的末尾调用

ios - 我如何在 Swift 中使用 __builtin_expect?

ios - 使用 PanGestureRecognizer 裁剪 UIImageView 内 UIImage 的右侧

c++ - 简单记录器实现 C++ 中的详细级别

java - 如何在 Java 中记录异常?