Chrome'un “Aw, Snap” iletişim kutusunu göstermesine neyin neden olduğunu belirleme


31

"Aw Snap!" İn nedenini belirlemenin pratik bir yolu olup olmadığını bilen var mı? Google Chrome’da ara sıra görünen bir mesaj? Chrome'un başvurabileceğim bir hata günlüğü var mı? Bu sorunun koddaki özyinelemeli bir döngüden kaynaklandığından şüpheleniyorum, daha sonra tüm belleği yutuyor? Bunu onaylayabilmemin bir yolu var mı?



Yanıtlar:


28

Burada açıklamalara bakın: Chrome'da sıradan giriş yapmak için şunu deneyebilirsiniz:


1
İlk seçeneğin bu problemi izole etmesine yardımcı olacağını düşünüyorum. Dev konsolu, herhangi bir kullanım çıktısı vermeden önce kilitlenir.
QFDev

2
Günlüğü etkinleştirdim ve kilitlenme sırasında, kilitlenme sırasında herhangi bir hata kaydetmedi. Günlük öğelerine ilişkin içgörü sağlayabilecek herhangi bir referans var mı?
Khadim Ali,


Lütfen bu cevaba bağlantıların kısaltılmış içeriğini ekleyebilir misiniz Bağlantılar ölürse bayatlayacaktır.
mafu

3
Javascript konsolu bu durumda genellikle kullanışsızdır, çünkü sayfa çöktüğünde cihazların bağlantısı kesilir.
PawnStar

28

Resmi Chrome Geliştiricileri Twitter hesabı , "Aw snap" sayfalarında hata ayıklamanıza yardımcı olan bir web sitesine bağlanır : http://www.chromium.org/for-testers/enable-logging

Tavsiye, bu bayraklarla Chrome'u başlatmanızdır:

--enable-logging --v=1

Bunu yaparsanız chrome_debug.log, Chrome'un kullanıcı veri dizinindeki (ana dizindeki Default/) dosyadan veya out\Debughata ayıklama derlemesi kullanıyorsanız ikili derleme klasöründeki ( ) dosyadan bir kilitlenme günlüğü alabilirsiniz .


5
Bu yazı --enable-logging --v=1 , kabul edilen cevaba yapılan düzenlemenin uzun süre önce kullanılmasından dolayı eklendi.
CAD

2

Hata! sayfa genellikle , yazılım hatasıyla ilişkili olabilecek işlem segmentasyonu hata çökmesi ile ilgilidir . Nedenini belirlemek için, günlüğe kaydetmeyi etkinleştirebilir (diğer yanıtlarda önerildiği gibi) veya çekirdek döküm dosyasının geriye dönük analizini analiz edebilirsiniz ( macOS , Linux , örneğin Ubuntu'da ).

Sebebini bilmiyorsanız (örneğin yığın izlemesi yalnızca bellek adreslerinden oluşur), Chrome hata izleme sisteminde yeni bir destek bileti oluşturabilir (veya zaten bir tane olup olmadığını kontrol edin). Raporlama sırasında, chrome://crashes/sayfaya giderek Crash ID'yi yüklemeli ve eklemelisiniz , böylece bellek adresleri Chrome uzmanları tarafından hata ayıklama simgelerine çevrilebilir.

Alternatif olarak kaza dökümlerini kendiniz deşifre edebilirsiniz .

Ayrıca bakınız: Google Chrome Crash Dump Nerede?


Yukarıda basitleştirmek için, sayfanın kilitlenmesinin ana nedenleri aşağıda verilmiştir:

  • Sen bulduk hata (web sitesinde veya web tarayıcısı da kendinden ile ya).

    • Web sitesi hatası

      • Örnek: JavaScript VM, ayrılan maksimum belleğe (bellek dışı çökmesi) ulaştı.

        Bunu kontrol etmek için DevTools'u çalıştırın ve Bellek sekmesini kontrol edin . Bu durumda, kodun olası bellek yetersizliği çökmesinden hemen önce otomatik olarak duraklatılması gerekir (örn. Sayı 810015 ). Öyleyse, sorunu web sitesi sahibine bildirin veya hatayı bulmak için JS kodunu görüntüleyin.

    • Tarayıcı hatası

      • Uzantıları devre dışı bırakmayı düşünün veya Gizli modda çalıştırın .
      • Önbelleğe alınmış dosyaları kaldırmayı düşünün .
      • Hata bildir .
      • Tarayıcıyı tekrar yükleyin.
      • Chromium , Dev veya Canary kanalı gibi farklı bir Chrome sürümü kullanın .
      • Epic, Firefox, Opera, Brave, Waterfox, Torch veya başka bir tarayıcı kullanın.
      • Sorun tekrarlanabilirse, Chrome kaynaklarını hata ayıklama sembolleriyle yeniden derlemeyi deneyebilir ve yığın izlemesini analiz edebilir veya rapor edebilirsiniz.
  • Sisteminizdeki maksimum açık dosyaya ulaştınız (bkz: # 787381 ).

    Linux / Unix / macOS'ta bunu doğrulamak için şunu çalıştırın:

    sysctl -a | grep files
    

    ve kern.num_filessınırına ulaşıp ulaşmadığını kontrol edin kern.maxfiles.

    Bu durumda, aşağıdaki komutları çalıştırarak limiti yükseltin:

    sysctl -w kern.maxfiles=20480
    which launchctl && launchctl limit maxfiles 65536 unlimited
    which ulimit && ulimit -c unlimited
    
  • Kazaya neden olan Chrome dosyalarınızı değiştiren bazı kötü amaçlı yazılım / virüslere sahip olabilirsiniz.

  • Bazı olabilir donanım bellek ilgili sorunu . Öyleyse biraz test yap memtest.

Mac os işletim sistemi

Günlükleri Chrome'dan görüntülemek için aşağıdakileri çalıştırın:

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

veya herhangi bir çarpma dökümü olup olmadığını kontrol edebileceğiniz (veya giriş yapabileceğiniz) Konsol uygulamasını çalıştırarak ~/Library/Logs/DiagnosticReports. Bkz: Chrome'da "Aw, Snap!" Hatalarını ayıkla


Hata ayıklama

Yukarıdakilerin hiçbiri yardımcı olmazsa, Chrome'u kaynaktan derlemeyi düşünebilirsiniz (uzun zaman alır), sonra doğrudan Terminal'den çalıştırın. Bundan sonra, her “Aw, Snap!” Hatasını, gerçekleştiği kaynak kod dosyasındaki işlevler ve satır dahil tam yığın izlemesi takip etmelidir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.