更新:只有当JavaScript控制台可见时才会显示"糟糕"的提示信息。
首先,从 设置 -->> 高级 -->> 隐私和安全 启用自动发送一些系统信息和页面内容到Google来帮助检测危险的应用程序和网站
然后按照以下方式在Chrome中启用崩溃报告:
这将在Chrome中出现"哎呀,崩溃了"的屏幕时提供更多信息。
我不知道非调试版本中是否有很多内容,但是尝试开启日志记录并查看显示的内容:
使用以下标志启动Chrome:--enable-logging --log-level=0
在Windows Vista上,您的日志文件位于:C:\Users\\AppData\Local\Google\Chrome\User Data\Default
在Windows XP上,您的日志文件位于:C:\Documents and Settings\\Local Settings\Application Data\Google\Chrome\User Data\Default
有关详细信息,请参见http://www.chromium.org/for-testers/enable-logging。
--enable-logging --v=1
并检查日志(系统日志和chrome_debug.log
文件)。如果您正在macOS上运行,此类崩溃应自动报告。可以在Console应用程序中检查并查看崩溃报告。或在Finder中找到它们,在/Library/Logs/DiagnosticReports
(全局)和~/Library/Logs/DiagnosticReports
(用户)中找到这些文件。
通过以下方式实时检查Chrome日志:
log stream --level debug --predicate 'processImagePath contains "Google"'
参考资料:
对于Linux,请查看: 当进程遇到分段错误时在Linux中如何生成核心转储?
获取Chrome崩溃转储(请参阅其他答案和搜索引擎以获取最新方法),然后您可以在调试器中打开它。
与内存相关的问题通常非常明显,例如堆是否溢出或未能快速压缩以添加新对象。 Chrome将尝试通过检测GC是否无效地标记足够的内容进行收集/压缩来避免崩溃 - “CheckIneffectiveMarkCompact”和“FatalProcessOutOfMemory”,其中GC基本上正在努力尝试一遍又一遍地回收内存,但无法做到这一点。这通常是“糟糕”的JavaScript的迹象 - 不一定是错误,而是设计缺陷,例如一次从API加载太多记录到内存中,例如在渲染数据的长列表或地图上的功能时。根据Chrome运行的设备,它很容易被攻击并关闭带有“Aw Snap”错误的站点/选项卡。
#endif // V8_FUZZILLI
} else {
fatal_callback(location,
is_heap_oom
? "Allocation failed - JavaScript heap out of memory"
: "Allocation failed - process out of memory");
}
我在Chrome浏览器上遇到了同样的问题,我使用的是Ubuntu操作系统,我只需更新Chrome并重新启动系统,问题就解决了!
Chrome 升级后,我的浏览器无法使用。因此,我暂时应用了以下修复方法:您可以通过以下两种方式禁用沙盒模式
一种是运行以下命令 "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --no-sandbox
另一种是,如果您有管理员权限,则可以更新注册表。
REG ADD "HKLM\Software\Policies\Google\Chrome" /v RendererCodeIntegrityEnabled /t REG_DWORD /d 0
该页面意味着浏览器内部出现了问题,建议在调试器下运行浏览器。