8

Ich habe einen Haltepunkt zu dem folgenden Code in Zeile 44 debugger; hinzugefügt. Ich habe erwartet, dass Chrome jedes Mal vor der Ausführung von console.log("...") stoppt. Aber zu meiner Überraschung hört es nur einmal auf.Chrome-Debugger stoppt nicht

das Beispiel zu testen:

  1. unter dem Snippet Run in Chrome
  2. öffnen Chrome Dev-Tool
  3. Ziehen Sie ein Bild von einer anderen Website im Ablegebereich

An diesem Punkt Chrom stoppt am Haltepunkt. Aber wenn Sie in die Konsole schauen, sollten Sie sehen, dass die Anweisung console.log noch zweimal ausgeführt wurde.

Ich würde gerne wissen, warum das passiert. (Threading-Problem ??)

Und wie kann ich das lösen, wenn ich den Code in dieser Zeile debuggen möchte.

$(document).ready(function() { 
 

 
    $('#drop-area').on("dragover", function(event) { 
 
    event.preventDefault(); 
 
    event.stopPropagation(); 
 
    $(this).addClass('dragging'); 
 
    }); 
 

 
    $('#drop-area').on("dragleave", function(event) { 
 
    event.preventDefault(); 
 
    event.stopPropagation(); 
 
    $(this).removeClass('dragging'); 
 
    }); 
 

 
    $('#drop-area').on("drop", function(event) { 
 
    event.preventDefault(); 
 
    event.stopPropagation(); 
 

 
    var count = 1; 
 
    var dropObj = event.originalEvent.dataTransfer; 
 
    for (var i = 0; i < dropObj.items.length; i++) { 
 
     var aDropItm = dropObj.items[i]; 
 
     if (aDropItm.kind == "file") { 
 
     //ignore 
 
     } else { 
 
     aDropItm.getAsString(function(_str) { 
 
      debugger; //The debugger should stop here every time before the string is printed to the console 
 
      console.log("This was called [" + count++ + "] times"); 
 
     }); 
 
     } 
 
    } 
 
    }); 
 

 
});
#drop-area { 
 
    background-color: red; 
 
    width: 400px; 
 
    height: 400px; 
 
}
<div id="drop-area">Drop files here...</div> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

EDIT
Ich meldete dies als Fehler hier: https://bugs.chromium.org/p/chromium/issues/detail?id=748923

+1

Die einzigen Fehler, die eine schnelle Suche nach [der Chromium Bugliste] (https://bugs.chromium.org/p/chromium/issues/list) ergab, beziehen sich auf Quellkarten ([ex] (https: // bugs .chromium.org/p/chrom/issues/detail? id = 459499)), die hier nicht im Spiel sind. Wenn niemand auf etwas Offensichtliches hinweist, das wir vermissen, lohnt es sich, dort zu berichten. Ich wäre nicht überrascht, wenn es das Ergebnis einer Optimierung ist, obwohl es überraschend ist, Code mit einer 'Debugger; '- Anweisung darin optimiert zu sehen. –

+1

Ich war mir nicht sicher, ob es ein Fehler oder ein Fehler von mir ist. Ich werde es in der Fehlerliste veröffentlichen, wenn ich nicht zu einer Lösung komme. – Lars

+0

Fügen Sie hier einen Link zum Chrome-Bug hinzu, damit andere ihn finden können :) Es könnte sogar als "Antwort" betrachtet werden – styfle

Antwort

1

Das Problem nicht mehr passiert. Es scheint, als wäre es ein Fehler in Chrome.