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. thinkphp中table方法

    table方法也属于模型类的连贯操作方法之一,主要用于指定操作的数据表. 用法 一般情况下,操作模型的时候系统能够自动识别当前对应的数据表,所以,使用table方法的情况通常是为了:切换操作的数据表: ...

  2. shared_ptr(作为局部变量返回)

    智能指针:shared_ptr 1.一个局部的shared_ptr 作为返回值过程:当shared_ptr 被创建的时候,自身的引用计数 +1,当前引用计数为 1 , 按值返回以后 引用计数 + 1 ...

  3. sql 多表查询结果验证

    1.笛卡尔积 定义: 设A,B为集合,用A中元素为第一元素,B中元素为第二元素构成的有序对,所有这样的有序对组成的集合 ,叫做A与B的笛卡尔积,记作AxB. 上面有一个很关键的词为“有序”,因此,我们 ...

  4. linux系统入门一些常用命令解析

    接触IT行业的时候,就使用了ubuntu系统做开发,那个时候是一头雾水,从习惯了window下的界面操作,到终端下的命令行操作,着实一开始让人很不习惯.但是没办法,那个时候公司每个人都用Ubuntu系 ...

  5. NUMA导致的MySQL服务器SWAP问题分析与解决方案

    [SWAP产生原理] 先从swap产生的原理来分析,由于linux内存管理比较复杂,下面以问答的方式列了一些重要的点,方便大家理解: 1.swap是如何产生的 swap指的是一个交换分区或文件,主要是 ...

  6. String和StringBuilder、StringBuffer的区别?

    估计很多Java初学者在学习Java的过程中都会遇到这个问题,那就是String,StringBuilder,StringBuffer这三个类之间有什么区别?今天在这里整理一下,希望对大家有帮助哈.如 ...

  7. Codeforces Round #272 (Div. 2) E. Dreamoon and Strings 动态规划

    E. Dreamoon and Strings 题目连接: http://www.codeforces.com/contest/476/problem/E Description Dreamoon h ...

  8. web网页上面调用qq

    <a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=2812415198&site=q ...

  9. 反编译APK文件的三种方法(转)

    因为学习Android编程的需要,有时我们需要对网络上发布的应用项目进行学习,可是Android项目一般是通过APK文件进行发布的,我们看不到源代码,嘿嘿,办法总会有的,而且不止一个... ps:对于 ...

  10. USB with NXP Microcontrollers

    USB with NXP Microcontrollers NXP Advantages NXP's microcontroller portfolio features the latest USB ...