【问题标题】:How to access JavaScript execution trace at runtime in Firefox?如何在 Firefox 运行时访问 JavaScript 执行跟踪?
【发布时间】:2013-03-15 07:45:14
【问题描述】:

我想知道如何在运行时访问 JavaScript 执行跟踪。我看到 Firebug 可以做这样的事情:

参考上图,所有执行的行号都以绿色高亮显示。它们是在运行时实现的。我想一定有某种方法可以从浏览器使用的 JavaScript 引擎访问这些信息。

现在假设我想构建一个 firebug 插件来访问这些信息并在运行时检查每个执行行中的所有变量,我应该如何开始?

【问题讨论】:

  • 萤火虫中不是这种情况。它仅在其中有一些执行的行上显示绿线(因此不包括大括号{})。这些行可能不会被执行。它不显示执行跟踪。尝试将if(){} else{} 放入代码中,看看它会在代码上用绿线显示两个块
  • @tanmaykhandelwal 谢谢,但事实并非如此。请参考我更新的截图。谢谢。
  • 你有哪个版本的萤火虫。我有 1.11.2,它还在if(false){ 行显示绿色行号。您是否也可以在 if 语句的错误条件中添加可执行行?像这样:if(false){var a = '1';} else {var b = '2';}

标签: javascript firefox firefox-addon firebug javascript-engine


【解决方案1】:

显然您在 Firebug 论坛中询问了 same question

复制 Honza 的答案:

Firebug 目前正在使用 JSD (jsdIDebuggerService) 来弄清楚, 哪一行是可执行的。但是,计划是切换到 JSD2(工作 进行中)https://wiki.mozilla.org/Debugger

你的扩展也应该基于 JSD2

在 调试器文档。我没有测试它,但我认为如果 getLineOffset 返回 null,该行不可执行。

塞巴斯蒂安

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-25
    • 2012-08-04
    • 2020-08-06
    • 2012-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多