我大概是从 08、09 年从 Firebug 转入 Chrome Developer Tool,一直用到现在,越用越喜欢。我平时调错时常用的功能有:

  • 代码格式化
    可以将被压缩的代码自动展开
  • 实时代码编辑
    可以在运行时动态改变 JS 代码,并且不需要刷新页面就可以看到效果,一般用这个实时的在代码里插 console.log
  • DOM 事件/XHR 断点
    可以针对 DOM 结构改变/属性改变/键盘鼠标事件 等下断点,直接断到事件的第一个 listener 函数上。还可以对 XHR 请求下断点,断到发起请求的那一行代码上
  • 调用栈分析
    这个非常常用,Scripts 面板下右上角的那一部分
  • 自动异常断点
    当代码执行出错时,可以自动断到出错的代码行上,直接分析出错时的运行时环境
  • 分析 HTTP 请求
    Network 面板下列出了所有的 HTTP 请求,可以很方便的查看请求内容、HTTP 头、请求时间等信息

以线上代码出 Bug 为例。一般上手第一步是使用代码格式化功能将被压缩的线上代码展开,然后开启自动异常断点,尝试重现 Bug。当 Bug 出现时代码会自动断到出错的那一行。然后通过调用栈分析结合控制台找到最开始出错的那个函数上。一般的 Bug 到这里就算找出来了,但是如果这个 Bug 是在事件回调函数或者 XHR 回调函数上,就得结合 DOM 事件断点和 XHR 断点 进一步往上找哪个函数出错。另外,如果是发给服务器请求没有得到正确的 response,可以通过 Network 面板查看请求的参数、Cookie、HTTP 头是否有误。
另外,还可以通过 Charles/Nginx/Fiddler 等工具将远程 js 代码映射到自己的电脑上,免去了代码格式化的麻烦,还可以直接编辑。

还有些比较小的 Tips:

  • console.group/console.groupEnd 可以将 log 信息分组展示,看起来更舒服
  • console.warn/console.error 可以输出 warning 和 error log
  • element 面板右侧实时编辑的 css 样式,可以在 resource 面板里保存起来
  • 关于样式还有个技巧,Elements 面板右上角的 styles 栏,右侧有三个图标,功能依次是:根据当前元素创建一个 css 样式、模拟 :hover/:active 等伪类、颜色值类型选择。实用
  • resource 面板可以删除和修改 cookie/localstorage
  • scripts 面板下的 ctrl+o 可以快速跳转脚本文件,ctrl+shift+o 快速跳转函数
  • 右下角的齿轮图标里有个选项是开发者工具和网页左右分屏(Dock to the right,默认是上下分屏),宽屏必备
  • 接上,还有个选项是禁用 Cookit,必点
  • 接上,在选项面板里还可以手工编辑 user agent 和模拟触摸事件

最后说说 IE 6 的调试,我是这么个流程:

    1. 首先尝试在 Chrome 下重现该 Bug,如果能重现,就先把 Chrome 里能重现的 Bug 修了。确定 Chrome 里 OK,但是 IE 6 有问题,再继续下一步
    2. 到 IE 里首先尝试高版本 IE,比如 IE 9。E 9 的开发者工具还不错,也可以下断点,调用栈分析、控制台样样都有。如果 IE 9 里没问题,那就继续尝试 IE8,一直定位到能重现该问题的最高版本的 IE 上。即使是 IE 7,其开发者工具也还是勉强能用的……如果不幸的碰上一个 IE 6 only 的 Bug,那就只有继续下一步
    3. 到这一步的话一般就是最苦逼的时刻。IE 6 实在是没有太好用的 JS 调试工具(据说 Visual Studio 可以调,我没用过,欢迎补充)。这时候一般就是二分+alert的土法定位到出错行,加上耐心和时间,还有一点点运气。这一步的话强烈推荐开 Fiddler。

chrome developer tool 调试技巧2的更多相关文章

  1. chrome developer tool 调试技巧

    这篇文章是根据目前 chrome 稳定版(19.0.1084.52 m)写的, 因为 google 也在不断完善chrome developer tool, 所以 chrome 版本不同可能稍有差别. ...

  2. [转]chrome developer tool 调试技巧

    这篇文章是根据目前 chrome 稳定版(19.0.1084.52 m)写的, 因为 google 也在不断完善chrome developer tool, 所以 chrome 版本不同可能稍有差别. ...

  3. chrome developer tool—— 断点调试篇

    断点,调试器的功能之一,可以让程序中断在需要的地方,从而方便其分析.也可以在一次调试中设置断点,下一次只需让程序自动运行到设置断点位置,便可在上次设置断点的位置中断下来,极大的方便了操作,同时节省了时 ...

  4. 转载|chrome developer tool—— 断点调试篇

    断点,调试器的功能之一,可以让程序中断在需要的地方,从而方便其分析.也可以在一次调试中设置断点,下一次只需让程序自动运行到设置断点位置,便可在上次设置断点的位置中断下来,极大的方便了操作,同时节省了时 ...

  5. 浏览器开发者工具Chrome Developer Tool

    开发者工具Chrome Developer Tool https://developers.google.com/chrome-developer-tools/docs/profiles   一直被墙 ...

  6. Chrome developer tool:本人钟爱的 console、Network 功能简谈

    在最开始时,本人调试查看网页,一直用的是 firefox 的 firebug 插件,并没有使用 chrome 的 developer tool .只不过,在日常生活使用过程中,一直使用的是 chrom ...

  7. Chrome JS断点调试技巧

    Chrome调试折腾记_(2)JS断点调试技巧 技巧一:格式化压缩代码 技巧二:快速跳转到某个断点的位置 技巧三:查看断点内部的作用范围[很实用] 技巧4:监听事件断点 技巧5:DOM及 XHR监听跳 ...

  8. 谷歌浏览器Chrome developer tool详细介绍

    http://www.cr173.com/html/19114_4.html 第 4 页 js调试源码控制面板 5 源码控制面板(js调试) Javascript的调试,基本上是通过源码控制面板和命令 ...

  9. Chrome调试工具developer tool技巧

    Chrome这个浏览器赞的不能再赞了,给前端的开发调试工作带来了极大的效率提升. Chrome的简洁.快速吸引了无数人,它的启动速度.页面解析速度都很快,同时得益于Google V8的快速,Javas ...

随机推荐

  1. How to get the xpath by clicking an html element

    How to get the xpath by clicking an html element How to get the xpath by clicking an html element

  2. 苹果 App 转移图文详解

    目前公司在做App转移操作,在网上搜索相关资料加上自己的亲自操作,整理成一个文档,希望能给你提供帮助. 如转载请添加出处. 此文章只是为了记录一个Apple ID下的APP,转移到另外一个Apple ...

  3. ios蓝牙开发(二)ios连接外设的代码实现

    上一篇文章介绍了蓝牙的技术知识,这里我们具体说明一下中心模式的应用场景.主设备(手机去扫描连接外设,发现外设服务和属性,操作服务和属性的应用.一般来说,外设(蓝牙设备,比如智能手环之类的东西), 会由 ...

  4. linux之iptable案例

    转自:http://blog.csdn.net/bill_lee_sh_cn/article/details/4401896 1.一对一流量完全DNAT 首先说一下网络环境,普通主机一台做防火墙用,网 ...

  5. js中if的简写方法

    http://transitions1020.com/# 太帅! <script type="text/javascript"> 如果你想写 if (!false) { ...

  6. JavaBean组件在JSP文档中的应用

    Bean: package cn.donghaua.bean; public class StringBean { private String message = "No message ...

  7. [Swust OJ 581]--彩色的石子(状压dp)

    题目链接:http://acm.swust.edu.cn/problem/0581/ Time limit(ms): 1000 Memory limit(kb): 65535   Descriptio ...

  8. BZOJ 1483: [HNOI2009]梦幻布丁( 链表 + 启发式合并 )

    把相同颜色的串成一个链表, 然后每次A操作就启发式合并, 然后计算对答案的影响. ----------------------------------------------------------- ...

  9. 2768: [JLOI2010]冠军调查( 最小割 )

    最小割... 怎么乱搞都可以 -------------------------------------------------------------------------------- #inc ...

  10. X509Certificate2 本地正常,放到线上内部错误

    iis 找到部署的站点应用连接池,右键高级设置,找到“加载用户配置文件”改为true.window service2008 默认为false的.