【问题标题】:Strange Errors resulting in EXC_BAD_ACCESS (SIGSEGV)导致 EXC_BAD_ACCESS (SIGSEGV) 的奇怪错误
【发布时间】:2011-06-03 03:07:35
【问题描述】:

大家好, 我知道大约有 100.000 个关于 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]。我无法获取此错误的来源。我认为这与第二个目标有关。 你们有谁知道更多吗?

桑德罗·迈耶

【问题讨论】:

  • 您是否进行了清理和构建?
  • 是的。我什么都试过了。也在模拟器和真实设备上。但没有任何帮助。我现在挣扎了大约 4 个小时......

标签: iphone xcode


【解决方案1】:

奇怪的是我得到了这个错误,我经历了无数的解决方案。原来,我不小心复制了一行代码。只要确保你复制的时候,没有代码相互干扰。

【讨论】:

  • 重复代码是什么意思?我只是在我的代码中使用#ifdef 和目标设置中定义的宏。如果我删除所有#ifdef 部分,它似乎可以运行。真是奇怪……
【解决方案2】:

经过几个小时令人沮丧的实验后,我终于找到了解决方案。整件事与第二个目标无关。问题是 NSURLConnectionDelegate。在这个类中,我实现了一个名为 appID 的属性。在该类的一种方法中,我在没有设置器的情况下设置了变量。所以我在属性的位置放置了一个自动释放的对象。这个被释放并且指向变量的指针变得无效。一旦 Delegate 被释放,就会向这个尚未释放的对象发送一个 Method。

但我无法解释为什么会出现这个奇怪的错误方法。我以前从未见过这样的事情。有人可以告诉我为什么调用错误 Running pass 'X86 DAG-&gt;DAG Instruction Selection' on function '@gleLLVMVecPrimMultiRender13'?

桑德罗·迈耶 `

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-10
    • 2015-01-03
    • 1970-01-01
    相关资源
    最近更新 更多