繁体   English   中英

是否可以实时关注JavaScript?

[英]Is it possible to follow JavaScript in real-time?

我想看看 JavaScript 解释器正在实时执行什么操作,它正在读取哪一行以及它正在运行哪一行 function,因为我想对 Z686155Z6861555AF75A60AEDC3E9E 的每一小块进行全面调试以使其更快719E。 为此,我需要一些工具来告诉我解释器到底在做什么,如果它正在定义一个变量,如果它正在运行 function,如果它在一个循环中,请检查当前间隔(在setInterval中定义)。

据我所知,Firebug 无法做到这一点。

查看 Firebug 中的javascript选项卡,它是一个完整的调试器。 设置一个断点,当您的代码到达该行时,您将拥有对变量等的完全调试访问权限。Chrome 在标准安装中包含的开发人员工具中具有类似的功能。

正如另一个答案所说,如果您想逐步 go,设置调试点是 go 的方法。

但由于您似乎对提高性能感兴趣,您可能需要考虑仅优化应用程序中的真正瓶颈。 要查看哪些函数运行时间最长,以及其他统计信息,您可能需要查看console.profile() (在 firebug 和 chrome 中都可用)。

这是一个例子:

console.profile('myProfile');
//some code you want to know more about
console.profileEnd();

您也可以通过单击控制台面板(在 firebug 中)/配置文件面板(chrome)中的配置文件按钮手动启动它

在 Chrome 中,您可能还想查看堆快照(它们会告诉您有关 memory 的用法)。

如果您希望对程序进行自动监控/分析,请查看 Chrome 的调试器协议 它提供了一个程序化的 API。 我相信(但可能是错误的)这就是 Web Inspector 和 node-inspector 等工具的构建基础。

如果您想要的不仅仅是标准 Firebug/Web Inspector 接口所基于的东西,您将不得不使用类似的东西,或者开始破解 V8 和 Gecko JS 解释器的内部结构。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM