Was kann zum Absturz einer Chrome-Browsererweiterung führen?

8

Meine Browser-Erweiterung stürzt gelegentlich ab. Das Problem ist, ich kann keine gute, umfassende Liste von Dingen finden, die dazu führen können, dass eine Erweiterung abstürzt, und daher habe ich Schwierigkeiten, eine Checkliste mit Dingen zu erstellen, mit denen ich arbeiten kann.

Ich gehe davon aus, dass alles, was dazu führt, dass eine standardmäßige Chrome-Registerkarte abstürzt, zu einem Absturz der Erweiterung führt, wenn sie in der Datei Background.html ausgeführt wird.

Ich gehe davon aus, dass das Folgende zu Problemen führen könnte ...

  • Unbegrenzte Schleifen oder andere Instanzen, in denen ein Skript nicht mehr reagiert
  • Nicht abgefangene Ausnahmen (z. B. eine JSON.parse ohne try / catch)
  • Datenbankspeicherfehler
  • Übermäßige Ressourcenauslastung (??)

Das ist wirklich alles, woran ich denken kann. Ich habe eine Menge Zeit mit dem Debuggen meiner Erweiterung und würde wirklich jede Hilfe bei der Erstellung einer Checkliste zu schätzen wissen ...

    
Zane Claes 01.09.2012, 16:41
quelle

1 Antwort

11

Ich komme ungefähr 3 Monate nach der Frage zu dieser Frage zurück, weil eine 2. Erweiterung von mir ebenfalls zusammenbrach. In diesem Fall war die Erweiterung jedoch viel einfacher - nur etwa 40 Zeilen Code im Skript backgrounds.js.

2 Operationen schienen mögliche Täter zu sein: Schreiben in localStorage und mit console.log

Ich habe bereits festgestellt, dass es möglich ist, eine normale Chrom-Registerkarte abzustoßen, indem Sie console.log wiederholt mit großen Objekten auf einer Website verwenden, wenn Sie die Seite für längere Zeit geöffnet lassen. Da background.js immer geöffnet ist, scheint es hier ein wahrscheinlicher Täter zu sein.

tl; dr Verwenden Sie console.log nicht in der Produktion. Immer.

    
Zane Claes 03.12.2012, 17:52
quelle