javascript - 在事先不知道方法的情况下,如何在调试时找出 Javascript 中调用了哪些方法?

标签 javascript debugging events firebug google-chrome-devtools

比如我想调试一个第三方库。它里面有太多的功能,我不知道从哪里开始。有没有一种快速方法可以在不事先了解代码库并因此不知道在哪里放置断点的情况下找出正在触发哪些函数?

最佳答案

要查看调用了哪些函数,您应该使用您最喜欢的调试工具的 JavaScript 分析器。

这些分析器输出有关从何处调用哪些函数以及调用频率的信息(即它们的成本如何)。

在 Firebug(2.0 版)中:

  1. 启用脚本控制台面板
  2. 切换到控制台面板
  3. 点击个人资料按钮
  4. 执行一些操作,调用第三方代码中的函数。
  5. 再次点击个人资料按钮

结果: Firebug profiler output

在 Firefox 开发工具中:

  1. 切换到性能面板
  2. 点击开始录制性能按钮
  3. 执行一些操作,调用第三方代码中的函数。
  4. 点击停止录制性能按钮
  5. 切换到调用树选项卡

结果: Firefox DevTools profiler output

在 Chrome/Opera DevTools 中:

  1. 切换到时间轴面板
  2. 点击录制按钮(或按Ctrl+E
  3. 执行一些操作,调用第三方代码中的函数。
  4. 点击完成按钮
  5. 切换到聚合详细信息标签

Chrome/Opera DevTools profiler output

关于javascript - 在事先不知道方法的情况下,如何在调试时找出 Javascript 中调用了哪些方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28618015/

相关文章:

c# - 事件增强

javascript - D3 v4 获取元素的翻译值

C#/Visual Studio 调试示例

debugging - 为专有语言创建调试 IDE

iphone - MKMapView 拦截/劫持 iPhone 触摸事件

java - 如何让Java类监听C程序 "stdout"上的事件

javascript - 如何复制GMail的拖放标签功能?

javascript - DOM 中的 node.isSameNode(node1) 和 node === node1 有什么区别?

javascript - 动画 div 演示文稿 - 从中​​心放大

java - asmack - 接收自定义 XML 消息 ||