2011-01-03 3 views
0

Hey Guys, Я знаю, что есть около 100 000 потоков об ошибках EXC_BAD_ACCESS (SIGSEGV). Но никто не помог мне. Я сам не могу решить свою проблему.Странные ошибки, приводящие к EXC_BAD_ACCESS (SIGSEGV)

Несколько часов назад я продублировал цель своего проекта Xcode (игра iPhone), чтобы сделать бесплатную версию. Но с этого момента я получаю очень странные ошибки. Иногда приложение работает так, как будто ничего не произошло. Но большую часть времени, я получаю ошибки как это:

Running pass 'X86 DAG->DAG Instruction Selection' on function '@gleLLVMVecPrimMultiRender13' 

И стек выглядит следующим образом:

Thread 0 Crashed: Dispatch queue: com.apple.main-thread 
0 libobjc.A.dylib     0x015c6c6f prepareForMethodLookup + 31 
1 libobjc.A.dylib     0x015c06ad lookUpMethod + 86 
2 libobjc.A.dylib     0x015c081a _class_lookupMethodAndLoadCache + 40 
3 libobjc.A.dylib     0x015ceaa3 objc_msgSend + 87 
4 Birdy Free      0x0001b46d -[SMApplicationManager dealloc] + 58 (SMApplicationManager.m:226) 
5 Foundation      0x00489257 -[NSURLConnection(NSURLConnectionReallyInternal) releaseDelegate] + 57 
6 Foundation      0x004891f9 _NSURLConnectionReleaseClient + 68 
7 CFNetwork      0x01a45742 ClientContextHolder<CFURLConnectionClient_V4>::forget() + 48 
8 CFNetwork      0x01a3beee URLConnectionClient::processEvents() + 278 
9 CFNetwork      0x01a3bcb7 MultiplexerSource::perform() + 251 
10 CoreFoundation     0x0144e01f __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15 
11 CoreFoundation     0x013ac28b __CFRunLoopDoSources0 + 571 
12 CoreFoundation     0x013ab786 __CFRunLoopRun + 470 
13 CoreFoundation     0x013ab240 CFRunLoopRunSpecific + 208 
14 CoreFoundation     0x013ab161 CFRunLoopRunInMode + 97 
15 GraphicsServices    0x02a13268 GSEventRunModal + 217 
16 GraphicsServices    0x02a1332d GSEventRun + 115 
17 UIKit       0x0086d42e UIApplicationMain + 1160 
18 Birdy Free      0x000024a0 main + 82 (main.m:13) 
19 Birdy Free      0x00002445 start + 53 

Но метод называется не всегда то же самое. В этом случае это был [SMApplicationManager dealloc], и несколько минут назад это было [CCNode draw]. Я не могу получить источник этой ошибки. Я думаю, что это как-то связано со второй целью. Кто-нибудь из вас, ребята, знает что-нибудь еще?

Сандро Meier

+0

вы сделали чистый и строить? – coneybeare

+0

Да. Я все пробовал. Также на тренажере и реальном устройстве. Но ничего не помогло. Я боюсь сейчас около 4 часов ... –

ответ

0

Наконец, после нескольких часов разочаровывающих экспериментов я нашел решение. Все это не имело ничего общего со второй целью. Проблема была в NSURLConnectionDelegate. В этом классе я реализовал свойство с именем appID. И в одном из методов класса я устанавливаю переменную без установщика. Поэтому я поместил автореализованный объект в положение свойства. Это освобождается, и указатель на переменную становится недействительным. Как только делегат был выпущен, на этот еще выпущенный объект был отправлен метод.

Но я не могу объяснить, почему появляется эта странная ошибка Метод. Раньше я не видел ничего подобного. Может кто-нибудь сказать мне, почему ошибка называется Running pass 'X86 DAG->DAG Instruction Selection' on function '@gleLLVMVecPrimMultiRender13'?

Сандро Meier `

0

Это странно я получил эту ошибку, и я прошел через бесчисленные решения. Оказалось, я случайно продублировал строку кода. Просто убедитесь, что, когда вы дублируете, код не мешает друг другу.

+0

Что вы имеете в виду с дублированным кодом? Я просто использую код ififdef inmy с макросом, определенным в целевых настройках. Если я удалю всю часть #ifdef, она, кажется, запустится. Это действительно странно ... –

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