乐趣区

关于node.js:Nodejs有哪些调试方法

一、Node 有哪些调试工具
咱们晓得客户端脚本能够在浏览器里调试,那么 nodejs 怎么调试呢?

这里次要讲 2 个调试办法,心愿能对大家有所帮忙:

    1、Chrome 浏览器调试 nodejs

    2、VSCode 调试 nodejs

二、Chrome 浏览器调试 nodejs(ChromeDevTools 55+ 反对)
1、运行脚本

    1)、web 服务利用:node –inspect app.js  或者  node –inspect-brk app.js
    2)、非 web 服务利用:node --inspect-brk=9229 app.js
            PS:-brk 指定第一行设置断点,一开始就是暂停状态,=9229 指定调试端口为 9229,这是调试工具默认的通信端口

2、chrome 浏览器里关上:chrome://inspect/#devices,会显示如下页面(Target 要等一会能力呈现)。

3、点击上图红框中的 inspect 按钮,即可进入程序调试界

调试工具次要有四个面板:Console:控制台、Sources:源码、Memory:内存、Profiler:性能。
次要讲 Sources 面板,调试时面板从左到右能够看到 CallStack、Breakpoints、Scope、Watch 等折叠项。Scope 双击 Local 的变量值可进入编辑状态。

4、除了 chrome://inspect/#devices 之外,输出 http://127.0.0.1:9292 而后关上开发者工具,点击 node 图标,也能够进入调试程序。

5、遗记写 –inspect 怎么办?(Linux 零碎)

关上调试工具的前提是,启动 Node 脚本时就加上 –inspect 参数。如果忘了这个参数,还能不能调试呢?
答复是能够的。首先,失常启动脚本。
1)、失常启动脚本:node app.js
2)、在另一个命令行窗口,查找下面脚本的过程号。

           $ ps ax | grep app.js
           30464 pts/11   Sl+    0:00 node app.js
           30541 pts/12   S+     0:00 grep app.js

3)、下面命令中,app.js 的过程号是 30464。接着运行上面命令:

   node -e'process._debugProcess(30464)'

4)、下面命令会建设过程 30464 与调试工具的连贯,而后就能够关上调试工具了。
5)、还有一种办法,就是向脚本过程发送 SIGUSR1 信号,也能够建设调试连贯。(windows 上不可用)

   $ kill -SIGUSR1 30464

6、怎么启用近程调试计划

如果须要近程调试生产代码,倡议不要让调试器监听公共 IP 地址,倡议应用 ssh 隧道来调试。怎么启用近程调试计划:
1)、近程机器上启动过程:node –inspect app.js
2)、在要启动调试客户端连贯的本地计算机上,能够设置 ssh 隧道:

ssh -L 9221:localhost:9229 user@remote.example.com

三、vscode 调试 nodejs(v1.10+ 才反对)

1、我的项目根目录下新建.vscode 文件夹,同时该文件夹下新建 launch.jso 文件:

2、须要留神点:

    1)、须要在我的项目根目录下,不然点击启动调试的时候辨认不进去该我的项目中有这个调试工作
    2)、program 启动程序配置项,${workspaceFolder}为当前工作面板下,留神改我的项目最好是根目录间接在 vscode 的工作面板中作为一个我的项目,而不是一个嵌套在一个我的项目下的子项目。3)、${workspaceFolder}/app.js 中 app.js 是这个我的项目的启动文件。这个文件如果配置不对,会呈现调试工具栏启动胜利后一闪而过便隐没,例如像测试接口的时候怎么调用接口都进入不了调试。4)、配置胜利后,调试状态栏就会始终固定在 vscode 界面的顶部,哪怕没有接口调试的拜访,也会始终在。

5)、留神调试模式下须要把正式的启动后端的 cmd 敞开,不然会呈现曾经启动了一个端口,端口抵触。

3、正确启动调试工具的状况,如图:

4、给代码加断点,通过 postman 拜访接口时会进入断点处,这时就能够调试代码啦。

关键词:前端培训

退出移动版