2015-06-18 3 views
3

Я разработал приложение iPad с использованием Xcode 6.3.2. Я отправил свое приложение в App Store для просмотра, где он был отклонен из-за сбоя. Следующим является отчет о сбоях от iTunes.KERN_INVALID_ADDRESS на 0x0000000000000000

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 

Согласно отчету он выходит из строя на версии ОС: прошивка 8.3 (12F69). Я тестировал свое приложение на всех симуляторах (iPad Air, iPad 2, iPad Retina) с той же конфигурацией (iOS версии 8.3 (12F69)), а также тестировал его на своем устройстве (iPad mini) с iOS версии 8.3 (12F69), но не рухнул на мою сторону. Но он выходит из строя на моем друг IPad Air с тем же версией IOS (это дает один и тот же отчет об ошибке с различным недействительным адресом, как показано ниже)

Исключения Тип: EXC_BAD_ACCESS (SIGSEGV) Exception Класс: KERN_INVALID_ADDRESS в 0x0000000000000020 Инициированных Нитях : 0

У меня нет iPad iPad, чтобы я мог отлаживать его с помощью устройства.

Я также попытался отобразить отчет о сбоях в Symbolicated, используя следующую команду.

xcrun Atos -o VehicleVisuals 0x0000000000000020

Но это только дает мне следующий шестнадцатеричный код.

0x00000020 (в VehicleVisuals)

я следующие Link для symbolication.

Я просто не могу узнать, где на самом деле проблема с сбоем. Пожалуйста, кто-нибудь может мне помочь?

+0

Попробуйте atos на адресах стека, связанных с вашим кодом: 0x0000000100126828 и 0x0000000100101e80. –

+0

@PhillipMills дает мне следующий результат: xcrun Atos -o VehicleVisuals 0x0000000100101e80 encodingTable (в VehicleVisuals) + 4660 – Mahesh

+0

@PhillipMills имя Мое приложение является «Автомобиль Visuals» так при запуске Atos он дал мне ошибку «Atos не может загрузить символы для файла VehicleVisuals для архитектуры armv7s. ". Итак, я переименовал его в VehicleVisuals, это влияет на работу atos? – Mahesh

ответ

2

EXC_BAD_ACCESS обычно происходит потому, что вы отправляете сообщение Obj-C на неверный адрес памяти, что означает, что вы, вероятно, пытаетесь получить доступ к некоторому освобожденному объекту.

Возможно, он работает с другими устройствами, так как этот объект не выпускается одновременно.

У меня недавно был схож сбой, который произошел из-за того, что таймер не был признан недействительным на dealloc, и когда был вызван целевой метод, этот объект больше не существовал.

Вы можете попытаться включить объекты NSZombie и посмотреть, не обнаружен ли объект, который был освобожден. В xCode 6 вы можете включить их в Product> Scheme> Edit scheme> Diagnostics> Enable Zombie Objects.

Кроме того, существует множество таких ошибок, которые NSZombieEnabled не может обнаружить. К сожалению, нет ничего волшебного, чтобы его решить. Второй вариант - запустить приложение с помощью инструментов (утечки памяти) и посмотреть, сможете ли вы что-то получить. Если это не сработает, вам придется просмотреть свой код и проверить, нет ли у вас возможности доступа к удаленному объекту. Надеюсь, поможет.

Удачи вам!

+0

Я уже включил объект NSZombie для отслеживания EXC_BAD_ACCESS. Дело в том, что он не врежется ни на одном из симуляторов, на которых я тестирую, и не рушится на моем аппаратном устройстве (iPad mini). Он падает на iPad Air клиента, которому я отправляю приложение через Test Flight. Если бы я мог воспроизвести проблему на моей стороне, мне было бы легко ее решить. – Mahesh

+0

Да, есть много таких ошибок, которые NSZombieEnabled не может обнаружить. К сожалению, нет ничего волшебного, чтобы его решить. Второй вариант - запустить приложение с помощью инструментов (утечки памяти) и посмотреть, сможете ли вы что-то получить. Если это не сработает, вам придется просмотреть свой код и проверить, нет ли у вас возможности доступа к удаленному объекту. Надеюсь, поможет. Такие ошибки иногда сложнее отлаживать. –

+0

Спасибо за ответ. Я действительно понял проблему, и теперь она работает нормально. Я действительно должен был протестировать его на iPad Air, чтобы выяснить, где на самом деле произошел EXC_BAD_ACCESS :) – Mahesh

Смежные вопросы