Chrome调试器不会停止

时间:2017-07-25 13:43:02

标签: javascript google-chrome debugging google-chrome-devtools

我在第44行debugger;中的以下代码中添加了断点。我希望每次执行console.log("...")之前,chrome都会停在那里。但令我惊讶的是它只停留了一次。

测试示例:

  1. 在Chrome中运行以下代码段
  2. 打开Chrome开发工具
  3. 从放置区域中的其他网站拖动图像
  4. 此时,chrome在断点处停止。但是如果你在控制台中查看,你应该会看到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");
            });
          }
        }
      });
    
    });
    &#13;
    #drop-area {
      background-color: red;
      width: 400px;
      height: 400px;
    }
    &#13;
    <div id="drop-area">Drop files here...</div>
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    &#13;
    &#13;
    &#13;

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

1 个答案:

答案 0 :(得分:1)

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