WebCore:Worker:将 Safari 调试器连接到 Xcode 8.3 项目时的 EXC_BAD_ACCESS

Posted

技术标签:

【中文标题】WebCore:Worker:将 Safari 调试器连接到 Xcode 8.3 项目时的 EXC_BAD_ACCESS【英文标题】:WebCore: Worker: EXC_BAD_ACCESS when connecting Safari debugger to an Xcode 8.3 project 【发布时间】:2017-09-01 16:25:10 【问题描述】:

我刚刚升级到 Xcode 8.3 因为 Apple。我创建了一个在以前的 Xcode 版本上完美运行的 Cordova 项目,但现在出现了问题。我将应用程序部署到模拟器,并且每当我尝试连接 Safari 调试器(Safari > 开发 > 模拟器 > 测试应用程序)时,应用程序崩溃:

WebCore:Worker (25):EXC_BAD_ACCESS(代码=1,地址=0x0)

我正在运行 Cordova 6.5.0 并且没有安装任何插件。任何帮助将不胜感激。


更新:所以看起来 WebWorkers 是罪魁祸首。如果我在项目中禁用我们的 WebWorker 代码,调试器将毫无问题地连接。很高兴知道这是问题所在,但禁用 WebWorkers 并不是真正的解决方案,所以如果有人有任何想法,我会全力以赴。

【问题讨论】:

伟大的收获!我整个下午都在和这个争吵。 “new Worker('xyz.js')”似乎是导致崩溃行为的全部。 我已在 Radar 中提交了错误报告。希望Apple发布更新。似乎是 Xcode 版本 8.3 (8E162) 和 Safari 版本 10.1 (12603.1.30.0.34) 的组合。 Safari 10.0 和 Xcode 8.3 似乎不是问题。 仅作记录,EXC_BAD_ACCESS 崩溃仍然发生在 Xcode 8.3.2 (8E2002)、ios 10.3.1 和 Safari 10.1 (12603.1.30.0.34) 中。 同意禁用 WebWorker 代码不是一个好的解决方案......真的不知道为什么会发生这种情况,但这使得在 ios 上使用 cordova 变得更加困难...... 我看到 Apple 还没有修复。幸运的是,我正在使用一个允许我的网络工作者被禁用的库,但是什么时候部署它将是一场噩梦...... 【参考方案1】:

这绝对是 Apple 需要解决的问题。

同时,下载和使用 iOS 10.2 Simulator 修复了它。

【讨论】:

【参考方案2】:

由于某些内部 Safari 错误,Web Worker 会发生这种情况。尝试注释掉您的网络工作者部分。

【讨论】:

以上是关于WebCore:Worker:将 Safari 调试器连接到 Xcode 8.3 项目时的 EXC_BAD_ACCESS的主要内容,如果未能解决你的问题,请参考以下文章

Safari 是什么

在 Safari Web Inspector 中调试 Web Worker

Firefox 和 Safari 不在 Service Worker 请求中发送自定义 http 标头

WebCore WebCore::GraphicsContext3D::reshape(int, int)

Nginx基本参数调优

无法重现的 webcore 崩溃