简体   繁体   English

导致EXC_BAD_ACCESS(SIGSEGV)的奇怪错误

[英]Strange Errors resulting in EXC_BAD_ACCESS (SIGSEGV)

Hey Guys, I know there are about 100.000 thread about EXC_BAD_ACCESS (SIGSEGV) Errors. 大家好,我知道大约有100.000个线程有关EXC_BAD_ACCESS(SIGSEGV)错误。 But no one helped me out. 但是没有人帮助我。 I'm not able to solve my problem myself. 我自己无法解决我的问题。

A few hours ago, I duplicated the target of my Xcode Project (a iPhone game) to make a free version. 几个小时前,我复制了Xcode Project(iPhone游戏)的目标以制作免费版本。 But since this Point I get very strange errors. 但是从这一点开始,我得到了非常奇怪的错误。 Sometimes the app works as if nothing happened. 有时,该应用程序就像没有任何反应一样工作。 But most of the time, I get errors like this: 但是大多数时候,我会收到如下错误:

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

And the stack looks like this: 堆栈看起来像这样:

    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

But the method called is not always the same. 但是调用的方法并不总是相同的。 In this case it was [SMApplicationManager dealloc] and a few minutes ago it was [CCNode draw]. 在这种情况下,它是[SMApplicationManager dealloc],几分钟前是[CCNode draw]。 I can't get the source of this error. 我无法获得此错误的来源。 I think it has something to do with the second target. 我认为这与第二个目标有关。 Do any of you guys know anything more? 你们还有其他知识吗?

Sandro Meier 桑德罗·迈耶(Sandro Meier)

It's weird i got this error, and i went through countless solutions. 我收到此错误很奇怪,然后我经历了无数解决方案。 Turned out, i had duplicated a line of code by accident. 原来,我偶然地复制了一行代码。 Just make sure when you duplicated, there is not code interfering with each other. 只要确保在复制时没有代码相互干扰即可。

Finally after a few more hours of frustrating experiments I found the solution. 最终,经过几个小时令人沮丧的实验,我找到了解决方案。 The whole thing hadn't to anything with the second target. 整个目标与第二个目标无关。 The Problem was the NSURLConnectionDelegate. 问题是NSURLConnectionDelegate。 In this class I implemented a Property named appID. 在此类中,我实现了一个名为appID的属性。 And in one of the methods of the class, I set the variable without the setter. 在类的一种方法中,我不使用setter来设置变量。 So I placed an autoreleased object at the position of a property. 因此,我将一个自动释放的对象放置在属性的位置。 This one get released and the pointer to the variable gets invalid. 释放该变量,指向变量的指针无效。 As soon as the Delegate was released, a Method was sent to this yet released object. 委托释放后,就会向该尚未释放的对象发送方法。

But I can't explain why there appears this strange error Method. 但是我无法解释为什么会出现这种奇怪的错误方法。 I haven't seen anything like that before. 我以前没看过那样的东西。 Can someone tell my why the error is called Running pass 'X86 DAG->DAG Instruction Selection' on function '@gleLLVMVecPrimMultiRender13' ? 有人可以告诉我为什么Running pass 'X86 DAG->DAG Instruction Selection' on function '@gleLLVMVecPrimMultiRender13'错误称为“ Running pass 'X86 DAG->DAG Instruction Selection' on function '@gleLLVMVecPrimMultiRender13'吗?

Sandro Meier ` 桑德罗·迈耶`

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM