Blackbox 提高JavaScript调试效率


所有人前端开发人员都会遇到的问题,您的应用程序代码中会出现错误。您开始调试,但是逐行执行代码时,调试器有时会跳转到不是您的焦点的源文件(例如第三方JS库)。我相信你在回到自己的应用程序代码之前,经历了很多烦恼。

Blackboxing(黑箱)为您提供了便利,以便调试器可以绕过一个第三方JS库。当您黑箱一个源文件时,调试时代码,调试器将不会跳转到该文件(黑箱中的文件)。

1. 当你黑箱子一个脚本,会发生什么
  • 进入/退出/过渡绕过库代码
  • 事件侦听器断点不会破坏库代码
  • 调试器不会暂停在库代码中设置的任何断点。
    总之当黑箱一个脚本时,能让你更加方便的专注调试当前脚本
2. 如何黑箱脚本
  • 使用settings(设置) – 选中Blackboxing
  • 当对应代码文件的标注行数位置点击Blackbox script

设置面板
打开DevTools设置,点击右上

这将打开一个对话框,您可以在其中输入要添加到黑名单的脚本的文件名。你可以通过几种方法来做到这一点:

  • 输入文件的名称,

  • 使用正则表达式来定位:
  • 包含特定名称的文件/jquery.js$

  • 某些类型的文件像 .min.js$

  • 列表内容 列表内容或者输入包含您想要的黑盒子的脚本的整个文件夹bower_components。

对应文件

查看文件时,您可以在编辑器中右键单击行数的位置。从那里选择Blackbox脚本。这将会将文件添加到“设置”面板中的列表中。

当您在“编辑器”面板上的“编辑器”中查看一个黑盒子的脚本时,您将看到一个黄色条,表示它已被黑框。点击更多展开栏可以显示更多关于它意味着什么的信息,以及如何禁用它。

3. 黑箱脚本前后对比

不黑箱jquery.js脚本
-

当添加Even Listener Breakpoints的一个click

点击页面上的button1按钮

在sources中定位到的断点并不是button1的注册click事件位置,而是定位到了jquery.js

黑箱jquery.js脚本

黑化jquery.js脚本,重复上面步骤,定位到的就是对应button1注册click事件位置

原文地址  http://blog.csdn.net/qq_31619295/article/details/74782487

chrome DevTools之黑箱大法(Blackbox ) 黑箱化源代码的更多相关文章

  1. Chrome DevTools 面板全攻略

    李华西,微医云服务团队前端开发工程师,喜欢瞎折腾,典型猫奴 Console 面板 此章节请打开 devtools/console/console.html 一起食用 一方面用来记录页面在执行过程中的信 ...

  2. Chrome DevTools学习笔记

    ---恢复内容开始--- chrome和firefox的开发者工具大同小异,都非常强大.今天在博客园上看了这篇文章(http://www.cnblogs.com/Wayou/p/chrome-cons ...

  3. 20个Chrome DevTools调试技巧

    译者按: Chrome DevTools很强大,甚至可以替代IDE了! 原文: Art of debugging with Chrome DevTools 译者: Fundebug 为了保证可读性,本 ...

  4. Chrome DevTools 的 Sources 调试

    在 Chrome 中调试 JS 代码,那你不得不与 Chrome DevTools 的 Sources 面板打交道,所以文章主要通过介绍 Sources 面板上的各部分功能来介绍如何调试网页中的 JS ...

  5. Chrome DevTools的15个使用技巧(译)

    谷歌浏览器如今是Web开发者们所使用的最流行的网页浏览器.伴随每六个星期一次的发布周期和不断扩大的强大的开发功能,Chrome变成了一个必须掌握的工具.大多数前端开发者可能熟悉关于chorme的许多特 ...

  6. [转]Tips——Chrome DevTools - 25 Tips and Tricks

    Chrome DevTools - 25 Tips and Tricks 原文地址:https://www.keycdn.com/blog/chrome-devtools 如何打开? 1.从浏览器菜单 ...

  7. Chrome DevTools – 键盘和UI快捷键参考

    Chrome DevTools有几个内置的快捷键,可以节省你的日常工作的时间. 本指南提供了Chrome DevTools中每个快捷键的快速参考.虽然一些快捷方式在全局范围内可用,但其他的快捷方式用于 ...

  8. Chrome Devtools简介

    Chrome开发工具(又称DevTools),是一套内嵌在chrome浏览器内部的web编写和调试工具.DevTools提供给web开发人员深入地访问浏览器内部和web应用的机会.DevTools可以 ...

  9. Chrome DevTools good good study day day up

    Chrome DevTools 官方页面 https://developer.chrome.com/devtools

随机推荐

  1. Could not resolve com.android.support:appcompat-v7:28.0.0 错误处理

      20181008 总是出现错误 Could not resolve com.android.support:appcompat-v7:28.0.0 1.先是怀疑前些天降级了jdk 1.8 ,所以重 ...

  2. jquery.validate.js自定义表单验证

    $(document).ready(function() { //在下列位置输入页面加载的逻辑代码 $("#inputForm").validate({ rules: { seq: ...

  3. 命令:man

    简介 man命令,是manual的缩写,manual表示手册的意思.通过man命令,可以查询大多数shell外部命令的帮助手册. 语法格式 # man [[section] page ...] ... ...

  4. luoguP4643 阿狸和桃子的挑战 思维

    看下数据范围: \(n \leq 14\),emmmm,状压\(dp\)的分 \(n \leq 10000, m \leq 100000\),emmmm.....???,这是什么数据范围? 再观察一下 ...

  5. Ural 2036. Intersect Until You're Sick of It 计算几何

    2036. Intersect Until You're Sick of It 题目连接: http://acm.timus.ru/problem.aspx?space=1&num=2036 ...

  6. javascript 正则限制文本输入框只允许输入数字,简单实现。

    <input type="text" id="memberId" lay-verify="title" autocomplete=&q ...

  7. Fiddler可以支持Websocket抓包了

    今天试了一下,Fiddler已经可以支持客户端Websocket抓包了,并且查看的方式也非常方便. websocket作为一个标准的应用层的协议,在CS端程序用起来也比传统的tcp协议方便了,比较常见 ...

  8. Timer-triggered memory-to-memory DMA transfer demonstrator

    http://www.efton.sk/STM32/bt.c // Timer-triggered memory-to-memory DMA transfer demonstrator for STM ...

  9. 【教程】新手如何制作简单MAD和AMV,学不会那都是时辰

    [教程]新手如何制作简单MAD和AMV,学不会那都是时 http://tieba.baidu.com/p/2303522172 [菜鸟教你做MAD]Vegas制作MAD入门教程 http://tieb ...

  10. Javascript中的依赖注入

    首先通过带参函数来定义一个Javascript函数,相当于C#中的一个类. var Person = function(firstname, lastname){ this.firstname = f ...