it-swarm-ja.com

原因を特定する方法Chrome「Aw、Snap」ダイアログを表示する

「Aw Snap!」の原因を特定する実用的な方法があるかどうか誰かが知っていますか? Google Chromeに時々表示されるメッセージ? Chromeに参照できるエラーログがありますか?この問題は、コード内の再帰ループが原因ですべてのメモリが消費されるためと思われますか?何かできる方法はありますか?これを確認しますか?

34
QFDev

あります、ここの説明を参照してください:Chromeでの通常のログインの場合、次のことを試すことができます:

29
vinnief

公式のChrome開発者のTwitterアカウント ウェブサイトにリンクされている "Aw snap"ページのデバッグに役立ちます: http://www.chromium。 org/for-testers/enable-logging

Chrome=これらのフラグを使用して起動することをお勧めします:

--enable-logging --v=1

その場合、Chromeのユーザーデータディレクトリ(chrome_debug.logの親ディレクトリ)またはバイナリビルドフォルダ(Default/)のファイルout\Debugからクラッシュログを取得できます。デバッグビルドを使用している場合。

32

Aw、Snap!ページは通常、プロセスに関連しています segmentation fault クラッシュします softwareバグ 。原因を特定するには、(他の回答で提案されているように)ロギングを有効にするか、コアダンプファイルのバックトレースを分析できます( macOSLinux 、たとえば bunt )。

原因がわからない場合(たとえば、スタックトレースがメモリアドレスのみで構成されている場合)、 Chromeバグ追跡システム で新しいサポートチケットを作成できます(または、すでに存在するかどうかを再確認します)。レポート中は、chrome://crashes/ページにアクセスしてクラッシュIDをアップロードおよび含める必要があります。これにより、Chromeメンテナがメモリアドレスをデバッグシンボルに変換できます。

あるいは、あなたは クラッシュダンプをデコードする 自分でできます。

参照: GoogleはどこですかChromeクラッシュダンプは見つかりましたか?


上記を簡略化するために、ページがクラッシュする主な理由を以下に示します。

  • バグ が見つかりました(Webサイト上またはWebブラウザーを使用して)。

    • ウェブサイトのバグ

      • 例:JavaScript VMが最大割り当てメモリに達しました(メモリ不足のクラッシュ)。

        これを確認するには、DevToolsを実行し、Memoryタブを確認します。その場合、潜在的なメモリ不足のクラッシュの直前にコードが自動的に一時停止する必要があります(例 Issue 810015 )。その場合は、Webサイトの所有者に問題を報告するか、JSコードをプロファイルしてバグを見つけます。

    • ブラウザのバグ

      • 拡張機能を無効にするか、Incognitoモードで実行することを検討してください。
      • キャッシュファイル の削除を検討してください。
      • バグを報告
      • ブラウザを再インストールします。
      • Chrome ChromiumDev または Canary などのチャネル)の別のバージョンを使用します。
      • Epic、Firefox、Opera、Brave、Waterfox、Torchなどの別のブラウザーを使用します。
      • 問題が繰り返し発生する場合は、デバッグシンボルを使用して Chrome sources を再コンパイルし、スタックトレースを分析または報告してみてください。
  • システムで開いているファイルの最大数に達しました(参照: #787381 )。

    Linux/Unix/macOSでそれを確認するには、次のコマンドを実行します。

    sysctl -a | grep files
    

    kern.num_fileskern.maxfilesの制限に達したかどうかを確認します。

    その場合は、次のコマンドを実行して制限を増やします。

    sysctl -w kern.maxfiles=20480
    which launchctl && launchctl limit maxfiles 65536 unlimited
    which ulimit && ulimit -c unlimited
    
  • Chromeファイルを変更するマルウェア/ウイルスがクラッシュの原因となる可能性があります。

  • ハードウェアメモリ関連の問題 が発生する可能性があります。したがって、いくつかのテスト(memtestなど)を実行します。

マックOS

Chromeからログを表示するには、次を実行します。

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

または、Consoleアプリを実行して、クラッシュダンプをチェックすることもできます(または~/Library/Logs/DiagnosticReportsでチェックイン)。参照: Chromeで「Aw、Snap!」エラーをデバッグ


デバッグ中

上記のいずれも役に立たない場合は、 コンパイルChrome) (時間がかかる)を検討し、ターミナルから直接実行します。その後、各「Aw 、Snap!」エラーの後には、発生したソースコードファイルの関数と行を含む完全なスタックトレースが続くはずです。

2
kenorb