调试 Node.js 代码第一讲:基本调试入门

 学习 Node.js  原创  管理员  2020-06-10 07:44

概要:代码调试是我们日常编码过程中最基本的技能,Node.js 的代码调试相对其它服务端程序来说比较麻烦,但其实也是非常简单的,我们只需要了解其基本的使用方法就可以了。我们将会使用几篇文章来介绍一下如何调试 Node.js 代码。

简介

代码调试是我们日常编码过程中最基本的技能,Node.js 的代码调试相对其它服务端程序来说比较麻烦,但其实也是非常简单的,我们只需要了解其基本的使用方法就可以了。我们将会使用几篇文章来介绍一下如何调试 Node.js 代码。

调试模式

  • node --inspect index.js 仅启动一个调试端口代理,也就是通常说的【远程调试】,供第三方应用接入进行可视化调试(比如:DevTools, VS Code)
  • node inspect index.js 直接在 CLI 面板上进行调试,此方法调试太累,我们不使用此方法。

示例

index.js 文件如下:

var os = require("os")
const osx = os.cpus().length;
console.log(osx) 

输入命令:

$ node --inspect index.js

Debugger listening on ws://127.0.0.1:9229/093748d0-7d69-43c8-9083-9c5ea99c8652此时会看到这些字样:

For help, see: https://nodejs.org/en/docs/inspector

解释:Node.js 默认启用 9229 端口来监听调试的消息,第三方可视化调试器可以根据这个端口与 Node.js 进行通信,比如:断点、下一步、跳过等等动作,实际上都是应用在给 Node.js 发送消息。

使用 DevTools

我们使用 DevTools 来进行调试上述的文件,打开 Chrome ,在地址栏输入:chrome://inspect/#devices

单击此处:

进入后,需要我们手工添加一个终端网络连接,如下:

把之前 Node.js 打印出来的信息加进来,如下:

加好后就可以了,此时,我们就可以在 Source 中看到要调试的代码信息了,如下:

果然,这里什么都没有,原因如下:

我们运行完 $ node --inspect index.js 后,进程就已经退出了,因为 index.js 早就执行完了,也就是说在我们设置调试信息的时候,Node.js 已经不再占用 9229 端口。

解决办法:我们需要打一个断点,让程序暂停运行即可。

给命令加上断点,重新运行此命令:

$ node --inspect-brk index.js

此时会看到 Debugger attached 字样,说明当前已经处于调试模式中:

Debugger listening on ws://127.0.0.1:9229/c586e36e-3cdf-4d2b-9222-4c7eeabf5f8d
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.

我们再打开 DevTools 时,就会发现 Sources 选项卡中已经有断点了,默认为第一行,如下:

按 F10 运行下一行代码,可以看到和我们平常调试 js 代码是一样的效果:

在这里,我们一个简单的调试过程就完成了。

参考

https://nodejs.org/zh-cn/docs/guides/debugging-getting-started

Node.js  

编辑:myweb   最后更新于:2020-06-10 08:16


版权声明:本站所有原创内容受到法律的严格保护,版权归本站所有。如果您觉得我们的内容有价值,您仍然可以进行自由传播,但必须显著地标识或说明此内容在本站的链接地址。




联系我:help@wodeabc.com,鄂ICP备14016278号-2
©2016-2020 我的ABC All Rights Reserved.
友情链接: 一起编程网