- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我刚刚从 Crashlytics 收到了我的第一份崩溃报告,我正在尝试纠正这个问题。不幸的是,它只有一行代码可以在旧设备上运行,所以我无法在我的 iPhone 6 上测试它。
Crashlytics 的崩溃报告突出显示了两个线程,第一个是:
Fatal Exception: NSInvalidArgumentException
-[CABasicAnimation altitude]: unrecognized selector sent to instance 0x17734440
当第二个读取时:
Crashed: Map Update :: NSOperation 0x1a839470
SIGABRT ABORT at 0x316a3dfc
两个线程的指示代码行是:
let relativeAlt = mylocation.altitude - appDelegate.elevation
地点:
let mylocation = self.mapView.myLocation
let appDelegate = (UIApplication.sharedApplication().delegate as AppDelegate)
我试图理解我在崩溃报告中读到的内容。按照我的看法,程序不理解出于某种原因对 altitude
的引用?这对我来说没有意义,因为这次崩溃似乎是在该应用程序无误运行几分钟后发生的,突出显示的代码行可能在应用程序崩溃之前运行了数百次。这里到底发生了什么?
附加信息:
自撰写本文以来,我收到了我认为源于同一问题的其他崩溃:
Crashed: Map Update :: NSOperation 0x19fb2d50
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x11d077ca
Crashed: Map Update :: NSOperation 0x145ced50
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x81450a64
第一个在我的代码中突出显示了以下行(我相信自从这个测试版发布以来我一直在开发该应用程序并且行号略有变化):
self.lastLocation = (self.mapView.myLocation as CLLocation).coordinate
虽然第二次崩溃刚刚给了我:
libobjc.A.dylib
objc_msgSend + 5
第一个新的崩溃(提供了一行代码)提供了这个报告:
Thread : Crashed: Map Update :: NSOperation 0x19fb2d50
0 libobjc.A.dylib 0x3105c708 objc_release + 7
1 FlightTracker 0x000ba830 FlightTracker.MapViewController. (locationManager (FlightTracker.MapViewController) -> (Swift.ImplicitlyUnwrappedOptional<ObjectiveC.CLLocationManager>, didUpdateLocations : Swift.ImplicitlyUnwrappedOptional<Swift.Array<Swift.AnyObject>>) -> ()).(closure #1) (MapViewController.swift:168)
2 Foundation 0x244ce0fd __NSBLOCKOPERATION_IS_CALLING_OUT_TO_A_BLOCK__ + 8
3 Foundation 0x24438fc5 -[NSBlockOperation main] + 148
4 Foundation 0x2442b845 -[__NSOperationInternal _start:] + 768
5 Foundation 0x244d0a57 __NSOQSchedule_f + 186
6 libdispatch.dylib 0x315ad5d9 _dispatch_queue_drain$VARIANT$mp + 948
7 libdispatch.dylib 0x315ad0a9 _dispatch_queue_invoke$VARIANT$mp + 84
8 libdispatch.dylib 0x315af0d3 _dispatch_root_queue_drain + 330
9 libdispatch.dylib 0x315b01fb _dispatch_worker_thread3 + 106
10 libsystem_pthread.dylib 0x31720e25 _pthread_wqthread + 668
最佳答案
可能不是你的问题,但我只是有一个 SIGABRT 快把我逼疯了(这就是我最终看这个问题的方式),我会发布我的解决方案,以防它对 future 的 S.O. 有帮助。探险者。
在我的(iPad,无关紧要)应用程序中,您可以按下一个按钮,创建一个非全屏的 UIViewController
,其中包含一个 UITableView
,并且此 viewController 通过 UIPopoverController
呈现。
在我的例子中,我在加载 tableView 项目时搞砸了,在创建 tableView 单元格时,我最终试图将 null 值添加到字典中。 (这是一个很长的故事,与期望数据采用特定格式的基础设施类有关。)
无论如何,尝试访问 newViewController.view
会导致该行出现 SIGABRT,但不知道问题与填充 tableView 单元格有关。堆栈跟踪中没有明显的 tableView 相关信息,所以我花了很长时间才缩小范围。我最终只是猜测“可能是 tableview”并断开了 IBOutlet
和 delegate/dataSource 的连接,看看崩溃是否消失了。
...确实如此。这引导我找到真正的问题。
无论如何,这就是我的故事。希望对某人有帮助。
关于ios - 了解 iOS 崩溃 [SIGABRT ABORT],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28014031/
我正在尝试从数组元素中形成最大数。下面给出的我的实现在某些情况下工作正常,而在其他一些情况下它给出错误“来自 abort(3) (SIGABRT) 的中止信号”。为什么?帮帮我! #include
我见过许多具有如下所示的线程过程的示例。 private void ThreadProc() { while (serviceStarted) {
以下代码用于基本的循环链表,但是当一个人输入一个较大的n(例如8位数字)值时,它将引发“abort(3)(sigabrt)中止信号”错误。我不确定这意味着什么,并且希望就我的代码解决此问题提供一些指导
这个问题在这里已经有了答案: Why exactly should I not call free() on variables not allocated by malloc()? (7 个答案)
此文档页面在突出通知中指出,Delphi 中有两个中止指令。一种称为abort,另一种称为Abort。 http://docwiki.embarcadero.com/RADStudio/Tokyo/e
我正在尝试获取/构建V8,并且需要首先安装depot_Tools。在运行UPDATE_DEPOT_TOOLS时,我不断收到从错误开始的错误。而且我永远也想不出为什么/找不到调试底层GO代码的源代码。
我正在尝试获取/构建V8,并且需要首先安装depot_Tools。在运行UPDATE_DEPOT_TOOLS时,我不断收到从错误开始的错误。而且我永远也想不出为什么/找不到调试底层GO代码的源代码。
在索引数据库中升级数据库版本时出错。“请求被中止,例如通过调用 IDBTransaction.abort。” ConstraintError:事务中的变异操作失败,因为不满足约束。例如,对象存储或索引
我对C++编程不是很在行,但我真的解决不了这个问题。我的项目如下:使用TCP协议连接到WiFi服务器。服务器继续发送文本行:没问题。它系统地连接在一起。专用线程正在循环接收文本并将其显示在编辑窗口中。
每次用户输入内容时,我都会使用 $.get jquery 函数。我的函数如下所示 function checkField(va) { $.get( '/admin-tool',
这是我的代码,它接受一个整数 s 作为输入,它是我希望它处理的字符串数量,然后它接受 s 个字符串作为输入。对于它们中的每一个,它应该输出更大的字母字典排列,即最小的字母排列。问题是它编译得很好,但在
这个问题在这里已经有了答案: C++ terminate called without an active exception (6 个答案) 关闭 6 年前。 让我们谈谈下一个代码示例: #inc
如果输入字段的长度为空,我会尝试取消所有剩余的 AJAX 请求。但是,我看到这个错误: Uncaught TypeError: Cannot read property 'abort' of unde
代码(我的原始代码使用assert,但这是一个更短的sscce) #include int main() { abort(); return 0; } 编译器版本: $ g++ --
我有一个以前从未见过的东西的回溯。请参阅这些线程中的框架 2: Thread 31 (process 8752): #0 0x00faa410 in __kernel_vsyscall () #1
前言: 有时候,连接mysql的会话经常会异常退出,错误日志里会看到"got an error reading communication packets"类型的告警。本篇文章
我正在尝试调用C++ Java 中的方法编码。 我收到了Android NDK : Aborting. Stop当定义 Android.mk文件如下: LOCAL_PATH := $(call my-
这更多是出于个人好奇心/兴趣,而不是我试图解决的特定问题。 假设您有一个程序正在对用户提供的信息(例如搜索字符串)执行一些操作,这些信息会随着用户键入而改变。假设您想向用户显示与他们在任何给定时间输入
我们需要将我们的一些 UI 翻译成英文,问题出现了:我什么时候使用“Abort”,什么时候使用“Cancel”作为按钮文本?它们似乎可以互换,并且或多或少地翻译成德语(我们的来源)中的同一个词....
当使用从 jQuery.ajax 函数传回的 xhr 中止 ajax 请求时,firebug 显示它仍在尝试加载该请求。它不会阻止发出的任何更多请求,但也不会显示它曾经完成过请求。 这只是一个 Fir
我是一名优秀的程序员,十分优秀!