ios - KERN_INVALID_ADDRESS 位于 0x0000000000000000

标签 ios objective-c xcode6 app-store

我使用 Xcode 6.3.2 开发了一个 iPad 应用程序。 我将我的应用程序提交到 App Store 进行审核,但由于崩溃而被拒绝。以下是来自 iTunes 的崩溃报告。

Incident Identifier: 88DD7F94-3382-4241-A0D7-C3E7F6D20737
CrashReporter Key:   9881ae0cc3b3fbfccfd0ce1496d2fa08fec08782
Hardware Model:      xxx

Path:                /private/var/mobile/Containers/Bundle/Application/FDBBD67F-0EF7-43FB-80CB-8308A10A2D29/Vehicle Visuals.app/Vehicle Visuals
Identifier:          com.vehiclevisuals.Vehicle-Visuals
Version:             2.0.0 (1.1.0)
Code Type:           ARM-64 (Native)
Parent Process:      launchd [1]

Date/Time:           2015-06-12 12:33:57.988 -0700
Launch Time:         2015-06-12 12:22:14.581 -0700
OS Version:          iOS 8.3 (12F69)
Report Version:      105

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000000
Triggered by Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libobjc.A.dylib                 0x0000000195da7bdc 0x195d8c000 + 113628
1   QuartzCore                      0x00000001889fdc2c 0x1889ec000 + 72748
2   Vehicle Visuals                 0x0000000100126828 0x1000ec000 + 239656
3   Vehicle Visuals                 0x0000000100101e80 0x1000ec000 + 89728
4   UIKit                           0x0000000189118778 0x1890a4000 + 477048
5   UIKit                           0x0000000189116750 0x1890a4000 + 468816
6   UIKit                           0x0000000189112000 0x1890a4000 + 450560
7   UIKit                           0x00000001890b175c 0x1890a4000 + 55132
8   QuartzCore                      0x00000001889f9e18 0x1889ec000 + 56856
9   QuartzCore                      0x00000001889f4880 0x1889ec000 + 34944
10  QuartzCore                      0x00000001889f4724 0x1889ec000 + 34596
11  QuartzCore                      0x00000001889f3eb8 0x1889ec000 + 32440
12  QuartzCore                      0x00000001889f3c38 0x1889ec000 + 31800
13  UIKit                           0x0000000189137f8c 0x1890a4000 + 606092
14  UIKit                           0x0000000189137ef0 0x1890a4000 + 605936
15  CoreFoundation                  0x000000018462c2a0 0x18454c000 + 918176
16  CoreFoundation                  0x000000018462922c 0x18454c000 + 905772
17  CoreFoundation                  0x000000018462955c 0x18454c000 + 906588
18  CoreFoundation                  0x00000001845552d0 0x18454c000 + 37584
19  GraphicsServices                0x000000018dc436f8 0x18dc38000 + 46840
20  UIKit                           0x000000018911afa8 0x1890a4000 + 487336
21  Vehicle Visuals                 0x000000010013a1cc 0x1000ec000 + 319948
22  libdyld.dylib                   0x0000000196412a04 0x196410000 + 10756

Thread 1 name:  Dispatch queue: com.apple.libdispatch-manager

根据报告,它在操作系统版本:iOS 8.3 (12F69) 上崩溃。 我在所有模拟器(iPad Air、iPad 2、iPad Retina)上用相同的配置(iOS 8.3 版(12F69))测试了我的应用程序,还在我的设备(iPad mini)上用 iOS 8.3 版(12F69)测试了它,但没有撞到我这边了。 但是它在我 friend 的相同 iOS 版本的 iPad Air 上崩溃了(它给出了相同的崩溃报告,但有不同的无效地址,如下所示)

Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000020 Triggered by Thread: 0

我没有 iPad Air,所以我可以使用该设备进行调试。

我还尝试使用以下命令来符号化崩溃报告。

xcrun atos -o VehicleVisuals 0x0000000000000020

但它只给了我以下十六进制代码。

0x00000020 (in VehicleVisuals)

我正在关注 Link用于符号化。

我只是无法识别崩溃问题的实际位置。 请问有人能帮帮我吗?

最佳答案

EXC_BAD_ACCESS 通常是因为您正在向无效内存地址发送 Obj-C 消息,这意味着您可能正在尝试访问某个已释放的对象。

它可能在其他设备上工作,因为这个对象没有同时被释放。

我最近发生了类似的崩溃,因为 dealloc 上有一个计时器没有失效,并且当调用目标方法时,该对象不再存在。

您可以尝试启用 NSZombie 对象并查看是否找到正在释放的对象。在 xCode 6 中,您可以在 Product > Scheme > Edit scheme > Diagnostics > Enable Zombie Objects 中启用它们。

此外,还有很多此类错误是 NSZombieEnabled 无法检测到的。不幸的是,没有什么神奇的方法可以解决它。第二种选择是使用仪器(特别是内存泄漏)运行您的应用程序,看看是否可以得到一些东西。如果这不起作用,您将不得不检查您的代码并检查您是否有可能尝试访问已释放的对象。希望对您有所帮助。

祝你好运!

关于ios - KERN_INVALID_ADDRESS 位于 0x0000000000000000,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30913984/

相关文章:

ios - Swift 语言 : How to call SecRandomCopyBytes

iphone - 解码 UIPasteboard 上的 "Apple Web Archive pasteboard type"项目

受 IPV6 影响的 iOS 应用内购买非消耗品

objective-c - 是否可以在 Obj-C 中使用 Swift 的枚举?

ios - setBackButtonBackgroundImage 时应用程序崩溃

ios - 页面控件未更新

ios - KIF 测试包 XCTest.dylib 在使用 Swift 时未加载

ios - 段控制宽度 iOS 6

ios - 如果接受审查,是否可以将我的应用程序添加到 iTunes Connect 并暂停我的应用程序二进制文件?

java - 使用 Java 中的 Obj-C 类,有办法吗?