Devtools 无法工作并给出奇怪的错误

回答 5 浏览 4111 2023-07-06

我正在尝试使用 Devtools,但控制台打印出以下错误:

DevTools debugger is disabled because it is attached to a process that hosts multiple top-level frames, where DevTools debugger doesn't work properly. Please relaunch the browser with --disable-features=ProcessPerSiteUpToMainFrameThreshold to enable debugger.

我使用的是 Chrome Beta 115.0.5790.56,这种情况最近才开始发生。这是 Chrome 中的错误吗?

Sam Denty 提问于2023-07-06
这听起来像是设计上的改变,他们说要使用的开关可以修复它吗?另外,测试版的使用需要您自担风险,并不反映生产版本。并且 - groups.google.com/a/chromium.org/g/blink-reviews/c/2-ANsUBntL4Dave S 2023-07-06
5 个回答
#1楼 已采纳
得票数 3

根据 https://niek.github.io/chrome-features/

ProcessPerSiteUpToMainFrameThreshold

Reuses RenderProcessHost up to a certain threshold. This mode ignores the soft process limit and behaves just like a process-per-site policy for all sites, with an additional restriction that a process may only be reused while the number of main frames in that process stays below a threshold.

目前,该功能在正常的 Chrome 版本中默认处于禁用状态,但在 Chrome Beta 分支中似乎已默认设置为启用。

我使用的是 Chrome beta 版本 116.0.5845.42,该版本在 chrome://flags/#enable-process-per-site-up-to-main-frame-threshold 中具有此功能的切换开关。

那里的描述是

Enable ProcessPerSite up to main frame threshold Proactively reuses same-site renderer processes to host multiple main frames, up to a certain threshold. – Mac, Windows, Linux, ChromeOS, Android, Fuchsia, Lacros

禁用该功能并重新启动浏览器将消除该错误消息。

TheAtomicOption 提问于2023-07-20
#2楼
得票数 1

这是一个不需要下载 Beta 分支的解决方案。

我每天都在使用 Chrome 版本 115.0.5790.110(最新)进行调试,昨天或前天第一次开始看到这个问题。

此版本不支持通过 chrome://flags 更改设置。

而是通过在开始菜单中键入“cmd”打开 Windows 命令行并运行:

start chrome  --disable-features=ProcessPerSiteUpToMainFrameThreshold

请注意,即使没有像这样运行 chrome,我注意到重新启动浏览器几次后,最终我能够正常调试。

darthplagueisthewise 提问于2023-07-29
该命令的作用与通过 chrome://flags 禁用该功能相同,但通过命令行代替。唯一的区别是,如果您以其他方式打开 Chrome,更改将不会持续。Epic Programmer 2023-07-31
#3楼
得票数 1

我在 MacOS 上运行版本 115.0.5790.114(官方版本)(x86_64),并在控制台中看到相同的消息。

如果我在以下位置查找标志:

chrome://flags/#enable-process-per-site-up-to-main-frame-threshold

它不在那里。

我可以通过从终端启动 Chrome 来消除错误:

$ /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-features=ProcessPerSiteUpToMainFrameThreshold

希望谷歌能解决这个问题。

Rob Mousley 提问于2023-08-02
#4楼
得票数 0

ProcessPerSiteUpToMainFrameThreshold 也出现同样的问题,从 7 月中旬开始。我有一个带有多个嵌入式 iFrame 的 JavaScript 应用程序。调试器抱怨 iframe 太多,并且我的源 JavaScript 文件未加载到调试器中。全部适用于 Firefox 和 Chrome

现已将 chrome 更新至 115.0.5790.171

错误消失了,但我的调试器中仍然没有源 JavaScript。其他网站可以工作,只是我的应用程序不行。

我试过:

启动 chrome --disable-features=ProcessPerSiteUpToMainFrameThreshold

调试器中仍然没有源代码。

在 chrome://flags 中看不到标志

[flags missing1 no source files version info

user3119129 提问于2023-07-26
user3119129 修改于2023-08-03
正如目前所写的,您的答案尚不清楚。请编辑添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。您可以在帮助中心找到有关如何撰写良好答案的更多信息。Community 2023-08-01
#5楼
得票数 0

我在 Ubuntu 20.04 上运行版本 115.0.5790.114(官方版本)(x86_64),我没有在 chrome://flags 上找到标志,而是尝试通过命令行运行 chrome:

google-chrome  --disable-features=ProcessPerSiteUpToMainFrameThreshold

效果很好,几天后 chrome 就开始正常工作了

padda 提问于2023-08-14