【问题标题】:How to get more info when the "Aw Snap" screen shows up in Chrome?当 Chrome 中出现“Aw Snap”屏幕时如何获取更多信息?
【发布时间】:2009-11-13 10:46:32
【问题描述】:

我正在尝试在 Google Chrome 中查看页面,但我收到以下消息:“糟糕,快!显示此网页时出现问题”。有没有办法获得有关问题所在的更多信息?

更新:仅当 JavaScript 控制台可见时才会显示“Aw, Snap”备注。

【问题讨论】:

  • 这是一道编程题——和调试有关。
  • 这个问题被标记为“调试”,因此我不明白为什么它被关闭为题外话。如果将第一句话改写为“...尝试调试...”而不是“...尝试查看...”,那么它是否会被视为主题?这个问题在尝试调试 Chrome 中可爱的“Aw Snap”屏幕的开发人员中非常常见。
  • 我正在经历类似的事情。当 devtools 打开时,Aw Snap 偶尔会出现在页面刷新中。在 devtools 关闭的情况下,永远不会。我已经尝试在 gdb 中调试构建和日志记录设置,但到目前为止还没有任何迹象表明问题出在哪里。在这个问题发布后的 5~ 年里,Aw Snap 的可调试性有没有提高?

标签: debugging google-chrome


【解决方案1】:

首先从设置启用自动向Google发送一些系统信息和页面内容以帮助检测危险应用和网站 strong> -->> 高级 -->> 隐私和安全

然后在 Chrome 中启用崩溃报告,如下所示

  1. 打开 chrome://crashes
  2. 如果崩溃报告显示为禁用,请启用它。 如果发生崩溃,它会将崩溃报告转储到 C:\Users\{username}\AppData\Local\Google\CrashReports

当 aw 快照屏幕以 chrome 显示时,这将提供更多信息

【讨论】:

  • 我相信目前的设置叫做“自动向谷歌发送一些系统信息和页面内容,以帮助检测危险的应用和网站”
  • 感谢 mmigdol 指出这一点,我现在已将选项标签更新为当前 chrome 浏览器版本中完全存在的标签。
  • 如果我不想把垃圾发给 Google 怎么办?我只是自己?
  • 只说“本地崩溃 ID 1a6dcf99-0f2d-47df-93d5-0ce32c4ebd67 于 2019 年 2 月 16 日星期六晚上 11:54:44 捕获的崩溃报告未上传。立即发送”然后“用户请求上传,尚未上传”。文件夹为空。
【解决方案2】:

我不知道您是否会在非调试版本中看到很多内容,但请尝试打开日志记录看看会出现什么:

使用以下标志启动 Chrome:--enable-logging --log-level=0

在 Vista 上,您的日志文件将位于: C:\Users\<username>\AppData\Local\Google\Chrome\User Data\Default

在 XP 上,您的日志文件将位于: C:\Documents and Settings\<username>\Local Settings\Application Data\Google\Chrome\User Data\Default

详情请见http://www.chromium.org/for-testers/enable-logging

【讨论】:

  • 非常感谢。遗憾的是,该日志不包含任何有用的信息。我唯一看到的是:[1640:3808:4285503:INFO:user_script_slave.cc(179)] Injected 0 user scripts into
  • 如果您构建调试版本,您可能可以获得调用堆栈。
  • 没有未捕获的异常,Chrome 捕获它并显示 Aw Snap 页面。我通过 gdb 运行 Chromium,但当 Aw Snap 出现时,什么都没有弹出。可能我的gdb fu不够强大。
  • 我在移动 Chrome 上得到了这个——我想知道 iOS 是否有对应的
【解决方案3】:

当你在即将崩溃的网站上运行DevTools时,它可能会给你一些线索。

For example, when the tab will hit out-of-memory limits, the debugger will pause the code just before the crash (Chrome, Opera, etc.).内存使用情况可以在内存选项卡中查看。

如果原因不同,请使用 --enable-logging --v=1 从命令行运行 Chrome 并检查日志(系统日志和 chrome_debug.log 文件)。

相关:


macOS

如果您使用的是 macOS,则应自动报告此类崩溃。它们可以在 Console 应用程序中检查并检查崩溃报告。或者在Finder中找到它们,文件位于/Library/Logs/DiagnosticReports(系统范围)和~/Library/Logs/DiagnosticReports(用户)。

还可以通过以下方式实时检查 Chrome 日志:

log stream --level debug --predicate 'processImagePath contains "Google"'

另见:


Linux

对于 Linux,请检查:How to generate a core dump in Linux when a process gets a segmentation fault?

【讨论】:

    【解决方案4】:

    我在 chrome 中遇到了同样的问题,我在 Ubuntu 操作系统上使用它,我只是更新 chrome 并重新启动我的系统,它工作正常!

    【讨论】:

      【解决方案5】:

      获取 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");
          }
      

      【讨论】:

        【解决方案6】:

        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
        

        【讨论】:

          【解决方案7】:

          那个页面意味着浏览器内部出了问题,所以也许在调试器下运行浏览器?

          【讨论】:

          • 我没有投反对票,因为这是一个很好的建议。只是想注意,当我的页面“Aw Snap!”时,开发者控制台断开连接,所以不幸的是这似乎没有帮助。
          猜你喜欢
          • 2011-08-01
          • 2015-07-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多