我该如何解决这个 EXC_BAD_ACCESS(代码=1 地址=0x0bbadbeef)

Posted

技术标签:

【中文标题】我该如何解决这个 EXC_BAD_ACCESS(代码=1 地址=0x0bbadbeef)【英文标题】:how do i solve this EXC_BAD_ACCESS (code=1 address=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的断点面板中,点击左下角的“+”。选择“添加异常断点”,然后单击外部关闭出现的窗口。下次运行应用时,它会在关键指令处停止。 【参考方案1】:

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

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

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

【讨论】:

以上是关于我该如何解决这个 EXC_BAD_ACCESS(代码=1 地址=0x0bbadbeef)的主要内容,如果未能解决你的问题,请参考以下文章

如何建立与我的第 8 代 iPad 具有相同分辨率的网站?

如何对 EXC_BAD_ACCESS 进行单元测试?

线程1:EXC_BAD_ACCESS (code=1) error c++ project

我该如何解决这个承诺?

ArgumentError('对象 \'deviceInfo' 缺少属性:deviceId');我该如何解决这个问题?

我该如何解决这个问题?