Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Chrome开发工具在JavaScript中查找无限(或非常大)循环_Javascript_Debugging_Google Chrome Devtools - Fatal编程技术网

使用Chrome开发工具在JavaScript中查找无限(或非常大)循环

使用Chrome开发工具在JavaScript中查找无限(或非常大)循环,javascript,debugging,google-chrome-devtools,Javascript,Debugging,Google Chrome Devtools,我正在使用一个第三方统计库,它似乎有很多问题。它既大又压缩,所以调试起来并不特别容易。我正在使用Chrome开发工具,我想知道有哪些选项可以根据调用次数和调用名称对函数进行排序?我以为答案是Profiler选项卡,但我捕获的概要文件只记录了长链中引用“第1行”的JS文件 这件事是冻结我的应用程序,我宁愿尽量避免对他们的代码进行更改,即使是为了调试。我很高兴澄清任何不清楚的事情 编辑:我似乎记得最近chrome开发工具的一个演示,其中显示了一个时间轴,该时间轴描述了基于时间增量水平堆叠的功能块,称

我正在使用一个第三方统计库,它似乎有很多问题。它既大又压缩,所以调试起来并不特别容易。我正在使用Chrome开发工具,我想知道有哪些选项可以根据调用次数和调用名称对函数进行排序?我以为答案是Profiler选项卡,但我捕获的概要文件只记录了长链中引用“第1行”的JS文件

这件事是冻结我的应用程序,我宁愿尽量避免对他们的代码进行更改,即使是为了调试。我很高兴澄清任何不清楚的事情


编辑:我似乎记得最近chrome开发工具的一个演示,其中显示了一个时间轴,该时间轴描述了基于时间增量水平堆叠的功能块,称为“火焰图”或类似的东西。。。这将是理想的,但我现在记不起我一生中的联系。如果有人知道这个工具是什么,就不反对在这个工具上使用金丝雀?

看起来答案是“时间线”选项卡。似乎在普通铬合金中工作。在触发导致挂起的操作之前,我将选项卡设置为录制,一旦挂起停止(大约需要20秒),我就停止录制,并使用左选择器和右选择器放大主时间线(在顶部),在这里我看到选择了“事件”后执行时间更长(在顶部)


从那里我只是扩大了下拉列表,我得到了我想要的。(我模糊了js文件名以避免挑出库)但我包括了一个屏幕截图。

关于DevTools的最新视频在这里

它涵盖了关于DevTools的不同主题,还包括一个关于CPU配置文件的部分

因此,您需要记录cpu配置文件并查看它

您也可以在其上使用FlameChart视图

您可以单击自下而上或自上而下中的项目,甚至是火焰图表栏,并在“源”面板中查看功能体

如果源已缩小,如屏幕截图中所示,则可以按源面板状态栏中的按钮。它看起来像两个大括号{}。然后DevTools将格式化源

该操作将影响所有其他位置(如Timeline、CPU文件等)中指向源文件的所有链接。例如,在第一个快照中,您看到了一个函数O.Pk,它位于脚本缩小版本的第778行。在打印源文件之后,函数的链接会自动更改。现在它指向15871行


我怀疑您需要未精简的代码才能正确执行此操作。我所知道的所有工具都是通过行号来提供性能的。在评测之前,我尝试过“漂亮地打印”库,但它似乎不起作用。我可以在IDE中做,谢谢你的评论。你试过了吗?是的,我试过了,很棒的工具。chrome开发工具中还有一个带有“{}”符号的按钮,它可以为您打印javascript,这真是太神奇了!显然,它不会影响分析器引用。我想避免的更多的是它的来来回回。我很快就会得到答案,只是截图而已。如果你有一个CPU配置文件,你会得到一个更可读的形式:)