[英]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.