2009-02-22 4 views
0

Я сделал приложение, которое должно работать постоянно, пока я не остановлю его. В основном это получение некоторых данных с подключенного другого устройства и периодическое пересылку этих данных на сервер с использованием NSURLConnection и периодическое считывание данных с сервера и визуализация этих данных в виде графика с использованием NSXMLParser.My iphone application crashes

Я запустил инструмент, чтобы проверить выделение и утечки. Отсутствие утечки вообще. Монитор памяти отображает согласованные 5,2 МБ. График Objectalloc стабилен, чистые байты объекта allallo 4800, а #net - около 6400.

Проблема заключается в том, что приложение останавливается (или падает) примерно через 12 часов. Какие проблемы возможны? Я абсолютно не знаю, с чего начать поиск проблемы, потому что ни отладчик, ни инструмент не показывают никаких ошибок или проблем.

[добавлено]

1. как предложение Павла, я запустил приложение на симуляторе и получил несколько сообщений об ошибках через 5 часов работы.

InAir(64628,0xa050c720) malloc: *** error for object 0xc015bc87: Non-aligned pointer being freed 
*** set a breakpoint in malloc_error_break to debug 
InAir(64628,0xa050c720) malloc: *** error for object 0xa0200100: pointer being freed was not allocated 
InAir(64628,0xa050c720) malloc: *** error for object 0x2080a043: pointer being freed was not allocated 
InAir(64628,0xa050c720) malloc: *** error for object 0x120100: pointer being freed was not allocated 
InAir(64628,0xa050c720) malloc: *** error for object 0x34a00000: pointer being freed was not allocated 
InAir(64628,0xa050c720) malloc: *** error for object 0xc1d3a1b1: pointer being freed was not allocated 
InAir(64628,0xa050c720) malloc: *** error for object 0x46b0a1b1: pointer being freed was not allocated 
InAir(64628,0xa050c720) malloc: *** error for object 0xc1d3a1b1: pointer being freed was not allocated 
Program received signal: “EXC_BAD_ACCESS”. 

2. О комментарии NilObject ... Я не знал, что у организатора есть crashlog. Да, это имеет.

Incident Identifier: 0ADC2722-BF4B-457F-A224-4A946810FB1F 
CrashReporter Key: f62c1dc12071b63c1e21d612962ee6aad74b4503 
Process:   InAir [3154] 
Path:   /var/mobile/Applications/9471A5CA-97E1-4E52-A934-9CE33DC5A5DB/InAir.app/InAir 
Identifier:  InAir 
Version:   ??? (???) 
Code Type:  ARM (Native) 
Parent Process: launchd [1] 

Date/Time:  2009-02-21 21:37:36.786 -0500 
OS Version:  iPhone OS 2.2.1 (5H11a) 
Report Version: 103 

Exception Type: EXC_BREAKPOINT (SIGTRAP) 
Exception Codes: 0x00000001, 0xe7ffdefe 
Crashed Thread: 0 

Thread 0 Crashed: 
0 libobjc.A.dylib     0x300c8c18 objc_msgSend + 20 
1 InAir       0x00003d34 0x1000 + 11572 
2 Foundation      0x306942a0 __NSFireTimer + 132 
3 CoreFoundation     0x30269d88 CFRunLoopRunSpecific + 2642 
4 CoreFoundation     0x30269320 CFRunLoopRunInMode + 44 
5 GraphicsServices    0x31567e58 GSEventRunModal + 268 
6 UIKit       0x30a4fa6c -[UIApplication _run] + 520 
7 UIKit       0x30a591d0 UIApplicationMain + 1132 
8 InAir       0x000020b6 0x1000 + 4278 
9 InAir       0x0000202c 0x1000 + 4140 

Thread 0 crashed with ARM Thread State: 
    r0: 0x0013b920 r1: 0x301a2410  r2: 0x0013b920  r3: 0x301a2410 
    r4: 0xc004ea47 r5: 0x001203d0  r6: 0x001203d0  r7: 0x2fffef50 
    r8: 0x001203d0 r9: 0x394346d0  r10: 0x001063b0  r11: 0x00000f03 
    ip: 0x0000a134 sp: 0x2fffeef8  lr: 0x00003d3b  pc: 0x300c8c18 
    cpsr: 0x00000010 

(и т.д ... Весь журнал here.)

Любой, кто может интерпретировать их?

+0

Вы запустили его в симуляторе за такое количество времени? Случается ли это тогда? –

+0

Нет. Попробую. Спасибо. Тогда, одна вещь - способ получить данные от подключенного другого устройства через микрофон. Таким образом, симулятор не может полностью функционировать. – sky

+0

Ненавижу эти типы ошибок: «Подождите 12 часов и посмотрите ...». У вас есть журналы сбоев (которые можно просмотреть у организатора в xcode)? – NilObject

ответ

3

Вы пытались установить точку останова на malloc_error_break, поскольку сообщения об ошибках сообщают вам? (Запустить → Управление точками останова → Добавить символическую точку останова).

+0

Я запускаю его ... и, как вы можете предположить, я должен ждать несколько часов. :) Давайте посмотрим, что он мне дает. – sky