返回

JS调试示例

前端

总所周知,如果我们在开发Node.js应用或React应用时,经常会遇到需要查看某些库的源码的情况。这个时候,我们需要借助一个顺手的IDE。

相比于IDE的使用,学会调试也至关重要,本文列出了一些在调试过程中常遇到的问题及其解决办法。

Node.js的调试

Node.js调试的工作原理

Node.js的调试的工作原理就是将要调试的JS代码,编译成一份包含断点的源代码,而后使用V8引擎的debugger去监听断点,当断点被触发时,调试器就会自动中断,而后控制权交回给程序员。

Node.js调试准备工作

要进行Node.js调试,最重要的是安装好Node.js调试器,名为node-inspector。

如果您的电脑是Windows,请打开命令行窗口,并执行以下命令:

npm install -g node-inspector

如果您的电脑是MacOS,请打开终端窗口,并执行以下命令:

brew install node-inspector

在Node.js中设置断点

如果您要对某个JS文件进行断点调试,请在该文件的代码中,找到需要断点的位置,并在这一行的行号前,加上'debugger',这样在执行到这一行时,程序便会自动中断。

启动Node.js调试器

node-debug script.js

而后,打开Chrome浏览器,地址栏中输入:chrome://inspect,页面中会自动打开一个Node.js的调试页面。

接着,点击“Open dedicated DevTools for Node.js”按钮,页面将会切换到Node.js的调试页面。

调试页面左边部分就是源代码,右边部分就是调试相关的信息。点击源代码对应行号,就可以在源代码中设置断点。

然后,点击“resume”按钮,程序会继续运行,直到遇到断点为止。

当程序在断点处暂停后,就可以在右边部分的控制台中,查看变量的值,还可以修改变量的值。

Node.js调试常见问题

无法连接到调试器

如果您遇到无法连接到调试器的错误,请检查以下几点:

  1. 确保您已安装了node-inspector
  2. 确保您已在需要调试的脚本中设置了断点。
  3. 确保您已在Chrome浏览器中打开了chrome://inspect页面。
  4. 确保您已点击了“Open dedicated DevTools for Node.js”按钮。

断点不起作用

如果您遇到断点不起作用的情况,请检查以下几点:

  1. 确保您已在需要调试的脚本中正确地设置了断点。
  2. 确保您已在Chrome浏览器中打开了chrome://inspect页面。
  3. 确保您已点击了“Open dedicated DevTools for Node.js”按钮。
  4. 确保您已在调试页面中设置了断点。

无法查看变量的值

如果您遇到无法查看变量的值的情况,请检查以下几点:

  1. 确保您已在调试页面中选择了正确的堆栈帧。
  2. 确保您已在调试页面中打开了“Variables”面板。
  3. 确保您已在调试页面中点击了“Expand”按钮。

React应用的调试

React应用调试的工作原理

React应用的调试原理与Node.js调试原理类似,都是将要调试的代码,编译成一份包含断点的源代码,而后使用V8引擎的debugger去监听断点,当断点被触发时,调试器就会自动中断,而后控制权交回给程序员。

React应用调试准备工作

要进行React应用调试,最重要的是安装好React调试器,名为react-devtools。

如果您的电脑是Windows,请打开命令行窗口,并执行以下命令:

npm install -g react-devtools

如果您的电脑是MacOS,请打开终端窗口,并执行以下命令:

brew install react-devtools

在React应用中设置断点

在React应用中设置断点与Node.js中设置断点类似,只需要在需要断点的位置,加上'debugger'即可。

启动React应用调试器

react-devtools

而后,打开Chrome浏览器,地址栏中输入:chrome://inspect,页面中会自动打开一个React应用的调试页面。

接着,点击“Open dedicated DevTools for Node.js”按钮,页面将会切换到React应用的调试页面。

调试页面左边部分就是源代码,右边部分就是调试相关的信息。点击源代码对应行号,就可以在源代码中设置断点。

然后,点击“resume”按钮,程序会继续运行,直到遇到断点为止。

当程序在断点处暂停后,就可以在右边部分的控制台中,查看变量的值,还可以修改变量的值。

React应用调试常见问题

无法连接到调试器

如果您遇到无法连接到调试器的错误,请检查以下几点:

  1. 确保您已安装了react-devtools
  2. 确保您已在需要调试的脚本中设置了断点。
  3. 确保您已在Chrome浏览器中打开了chrome://inspect页面。
  4. 确保您已点击了“Open dedicated DevTools for Node.js”按钮。

断点不起作用

如果您遇到断点不起作用的情况,请检查以下几点:

  1. 确保您已在需要调试的脚本中正确地设置了断点。
  2. 确保您已在Chrome浏览器中打开了chrome://inspect页面。
  3. 确保您已点击了“Open dedicated DevTools for Node.js”按钮。
  4. 确保您已在调试页面中设置了断点。

无法查看变量的值

如果您遇到无法查看变量的值的情况,请检查以下几点:

  1. 确保您已在调试页面中选择了正确的堆栈帧。
  2. 确保您已在调试页面中打开了“Variables”面板。
  3. 确保您已在调试页面中点击了“Expand”按钮。

总结

在本文中,我们介绍了如何对Node.js应用和React应用进行调试。我们还列出了一些常见的调试问题及其解决办法。希望本文对您有所帮助。