Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.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
Javascript 使用断点进行调试与使用console.log进行调试有何不同?_Javascript_Ajax_Debugging_Testing_Breakpoints - Fatal编程技术网

Javascript 使用断点进行调试与使用console.log进行调试有何不同?

Javascript 使用断点进行调试与使用console.log进行调试有何不同?,javascript,ajax,debugging,testing,breakpoints,Javascript,Ajax,Debugging,Testing,Breakpoints,我可能错了,但我相信断点的要旨是暂停应用程序的状态,检查它以前/当前的状态,并循环遍历每个“断点”,以识别漏洞、bug和异常情况 我从来没有被教过如何使用它,我相信我陷入了一种更原始、更普通的调试方法中。Console.log。Console.log无处不在 对我来说,“断点”相当于在应该出现“断点”的位置放置一个console.log,以了解特定对象/类/等的状态 然而,有些事情告诉我,这远远不是理想的,而且我缺乏在调试中似乎非常有价值的技能。我认识的每一位有才华的开发人员、教授和管理人员似乎

我可能错了,但我相信断点的要旨是暂停应用程序的状态,检查它以前/当前的状态,并循环遍历每个“断点”,以识别漏洞、bug和异常情况

我从来没有被教过如何使用它,我相信我陷入了一种更原始、更普通的调试方法中。Console.log。Console.log无处不在

对我来说,“断点”相当于在应该出现“断点”的位置放置一个console.log,以了解特定对象/类/等的状态

然而,有些事情告诉我,这远远不是理想的,而且我缺乏在调试中似乎非常有价值的技能。我认识的每一位有才华的开发人员、教授和管理人员似乎都非常依赖断点,但通过谷歌搜索,我找不到任何可靠的解释,说明如何使用断点,使其优于简单的控制台日志

这个问题希望得到关于如何将“控制台记录器”思维与更高级的调试形式(断点)区分开来的答案


另外,我标记了javascript和ajax,因为这是我所使用的,我的问题主要针对这两类,但是我相信这适用于所有语言,以及优化调试的一般文化。

a)您可以设置断点,而无需更改代码(可能还需要重新编译)b)您可以中断当前执行并检查程序状态的任意部分c)您可以单步执行单个语句,而不必从日志的有限(或压倒性)输出重构控制流是的,因此我从纯上下文的角度“理解”了这一点,但实际上,在没有控制台日志的情况下,如何实际收集所有这些数据?意思除非我有一个完整的状态处理程序/扩展来描述它(例如redux视图),否则应用程序的状态不会告诉我太多,但除此之外,很难辨别当前状态,以及我在寻找什么?再说一遍,我并不是说你错了,我是说我对如何使用它缺乏了解,我认为这限制了我的调试能力。调试器将向你展示简单的数据结构。你不需要任何东西来印刷或“描绘”国家。您可以在任何执行点检查任何变量的值。在搜索bug时,您只需查看那些您怀疑是错误的bug,就像您当前将它们记录下来一样,但要快得多,也要简单得多。