【问题标题】:Extension unresponsive even after restarting Google Chrome即使重新启动谷歌浏览器,扩展程序也没有响应
【发布时间】:2016-09-29 20:11:07
【问题描述】:

我最近移植了一个用户脚本作为 chrome 扩展,它运行良好......直到它没有。

这是扩展名:https://chrome.google.com/webstore/detail/rgtavcruises-extension/bnmgigkjikbelbgpflbgedefjiaolfbe

代码在 github 上,以防有人想要检查(大部分代码在 extension/js/events.js 上):https://github.com/yogensia/rGTAV_Cruises_Extension

所以问题是它在过去几天内崩溃了 2 次,但是当它崩溃时它永远崩溃了。 重新启动 chrome 无济于事,禁用/重新启用也无济于事。只有删除它并重新安装它会立即修复它。

崩溃时,扩展完全没有响应:

  • 弹出窗口没有打开,如果我单击按钮,我可以看到它切换并保持按下状态,但弹出窗口不存在。
  • 徽章不再更新。
  • 选项对话框只加载标题栏——我的 options.html 代码没有加载。
  • 尝试检查弹出窗口没有任何作用。
  • 从扩展菜单检查后台进程会打开 devtools 窗口,但所有选项卡都是空的。没有加载任何资源或 HTML。
  • 在进程资源管理器中,扩展使用大约 25mb 和 12% 的 CPU(仅在崩溃时)。

查看扩展的本地文件我没有看到任何修改过的文件或更改。

我不知道如何调试或跟踪问题。我在这里或谷歌搜索没有找到任何相关信息,大多数结果是关于 chrome 问题而不是关于扩展。

欢迎任何帮助、反馈或想法。谢谢!

更新:今天遇到问题后,我开始尝试我能想到的一切,我发现从我的 Chrome 配置文件文件夹中删除本地存储文件解决了这个问题,所以我很确定现在问题与本地存储有关。

【问题讨论】:

  • 你需要花更多的时间修改代码、添加日志、调试。如果没有具体细节,我们无法帮助您调试整个项目。
  • 我不是要求那个,我主要希望有人知道可能导致这种行为的原因(因为我认为扩展程序不会每天都拒绝做任何事情而没有任何类型的错误消息)并且可以为我指明正确的方向。我只是提供尽可能多的细节。
  • 您需要提供更具体的细节。你可能有内存泄漏。这个问题太宽泛了,需要有人安装整个项目并调试它。
  • 崩溃是指真正的崩溃(aw snap、浏览器死机或扩展进程被终止)?如果是这样,您是否有机会使用 Windows 10?我看过 64 位 Win 10 的崩溃报告(在 Linux 上无法重现)。要获取更多信息,请查看 chrome://crashes 以查找崩溃 ID 和/或查看 chromium.org/for-testers/bug-reporting-guidelines/…
  • @ZigMandel 无论如何感谢您提供的信息,我不是要求有人为我修复它,只是为了指针,您已经给了我一个内存泄漏理论。

标签: javascript google-chrome-extension local-storage


【解决方案1】:

在这种情况下,问题确实是由 localStorage 引起的,正如我在之前的更新中提到的那样。所以我改用 chrome.storage.local 代替。自从更改后几天没有出现问题,因此现在似乎已修复。

我看到很多扩展严重依赖 localStorage 而没有错误,所以我不知道它究竟为什么会发生(可能是某个地方的 Chrome 错误?)但至少现在很好。

来源:Yogensia edit.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    相关资源
    最近更新 更多