【问题标题】:how do i solve this EXC_BAD_ACCESS (code=1 address=0x0bbadbeef)我该如何解决这个 EXC_BAD_ACCESS(代码=1 地址=0x0bbadbeef)
【发布时间】:2016-06-09 13:08:55
【问题描述】:

[截图 ::1] 我的应用程序没有运行,我在控制台上得到关注:

bool _WebTryThreadLock(bool), 0x16632500: 试图获取网络锁 来自除主线程或网络线程之外的线程。这可能 是从辅助线程调用 UIKit 的结果。崩溃 现在...

1   0x27db3da1 WebThreadLock
2   0x2899a4eb <redacted>
3   0x24ef5af5 __NSFireDelayedPerform
4   0x2469a58f <redacted>
5   0x2469a1c1 <redacted>
6   0x2469800d <redacted>
7   0x245e7229 CFRunLoopRunSpecific
8   0x24627dd3 CFRunLoopRun
9   0xaf1f9 -[RenderLoop threadMain]
10  0x24f014a5 <redacted>
11  0x2440b85b <redacted>
12  0x2440b7cf _pthread_start
13  0x24409724 thread_start

【问题讨论】:

  • 您是否正在调用以从后台线程或队列更新 UI 内容?
  • 错误似乎您正在主线程以外的线程上执行 UI 相关任务。当你遇到崩溃时更新你的代码,这样任何人都可以解决它。
  • 在解决之前先了解问题。在理解之前,往往是阅读。所以阅读错误信息。 ...再读一遍...现在问题应该很清楚了,只能通过查看您的代码找到解决方案。
  • 设置异常断点:在Xcode的断点面板中,点击左下角的“+”。选择“添加异常断点”,然后单击外部关闭出现的窗口。下次运行应用时,它会在关键指令处停止。

标签: ios multithreading


【解决方案1】:

我试图从后台线程更新 UIcontent,但它应该已在主线程上更新。为此,这对我有用。

 [self performSelectorOnMainThread:@selector(yourmethod:)withObject:obj waitUntilDone:YES]

但它会减慢渲染 OpenGL 内容的后台线程。

【讨论】:

    猜你喜欢
    • 2016-09-21
    • 2013-04-16
    • 2018-03-13
    • 2013-10-11
    • 2019-07-11
    • 2020-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多