Chrome调试器不会停止

Lar*_*ars 8 javascript debugging google-chrome google-chrome-devtools

我在第44行的代码中添加了一个断点debugger;.我预计每次console.log("...")执行前铬都会停在那里.但令我惊讶的是它只停留了一次.

要测试这个例子:

  1. 在Chrome中运行下面的代码段
  2. 打开Chrome开发工具
  3. 从拖放区域中的另一个网站拖动图像

此时,铬在断点处停止.但是如果你在控制台中查看,你应该会看到该console.log语句被执行了两次.

我想知道为什么会这样.(线程问题??)

如果我想在这一行调试代码,我该如何解决这个问题.

$(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");
        });
      }
    }
  });

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

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

编辑
我在这里报告了这个错误:https: //bugs.chromium.org/p/chromium/issues/detail?id = 748923

Lar*_*ars 1

这个问题不再发生了。看来这是 Chrome 中的一个错误。