nodejs代码如何进行断点调试?

nodejs代码如何进行断点调试呢?

作为一名服务端开发人员,对代码进行断点调试是最基本的能力,接下来我简单介绍两种调试方式,一种是依赖于编辑器工具,另外一种是依赖于chrome浏览器(两种方式均在已安装nodejs前提下)。

一、使用vscode编辑器

打开编辑器,新建一个项目vscode-debugger-test,创建两个文件:
app.js:
image.png
test.js:
image.png

假如想调试test.jslog这个方法,那么首先应该现在项目的根目录创建一个.vscode文件夹,然后再.vscode这个文件夹下创建一个名字为launch.json的文件:
image.png

接下来就是编写这个json文件:

launch.json

{
    // 配置名称,将会在启动配置的下拉菜单中显示
    "name": "test",
    // 配置类型
    "type": "node",
    // 请求配置类型,可以为launch(启动)或attach(附加)
    "request": "launch",
    // 将要进行调试的程序的路径
    "program": "${workspaceFolder}/app.js",
    // 程序调试时传递给程序的命令行参数,一般设为空即可
    "args": [],
    // console执行方式 1、integratedTerminal 编辑器内部终端执行 2、externalTerminal 外部终端执行
    "console": "integratedTerminal"
}

编辑好了,开始调试,首先在test.js文件log函数内部第一行的最前端加上断点,

image.png
然后点击编辑器左边的运行,
image.png
然后再点击运行按钮,开始运行,
image.png
这时候就能看到已经进入断点了,
image.png
然后就可以像在浏览器中调试js那样,愉快的调试nodejs了,
image.png
点击这里可以进行跳过断点、停止调试、单步跳过、单步调试等操作。

参考:官方launch.json配置说明

二、使用Chrome的inspect调试

还是使用上边vscode-debugger-test这个项目作为demo,但要对app.js文件稍微做下改造:

image.png

test.js文件,加一行代码:
image.png

接下来,在终端运行 node --inspect=9229 app.js

启动之后,在浏览器地址栏输入http://localhost:9999/,显示如下:

image.png

此时,新打开一个Chrome标签页,地址栏输入
chrome://inspect/#devices
image.png

可以看到,这时候这里出现了一个链接,点击进入Chrome控制台,然后刷新http://localhost:9999/,这时候就进入了断点的地方:

image.png

到这里已经非常熟悉了,就像调试js一样调试就可以了。


前端_风雨开发路
用心整理web前端开发过程中遇到的坑和绕过的弯,希望能帮助到茫茫人海中的你!

灵魂和皮囊能够握手言和,面子和里子能够始终如一。

272 声望
15 粉丝
0 条评论
推荐阅读
CSRF是什么?有效的防御措施有哪些?
很多厂在面试的时候,都喜欢问一下关于web安全的问题,比如接下来要说的这个,什么是CSRF以及防范措施有哪些?这文章会带你搞懂CSRF。什么是CSRF?(Cross Site Request Forgery, 跨站域请求伪造)是一种网络的攻...

huangsh2阅读 5.8k

从零搭建 Node.js 企业级 Web 服务器(十五):总结与展望
总结截止到本章 “从零搭建 Node.js 企业级 Web 服务器” 主题共计 16 章内容就更新完毕了,回顾第零章曾写道:搭建一个 Node.js 企业级 Web 服务器并非难事,只是必须做好几个关键事项这几件必须做好的关键事项就...

乌柏木75阅读 7k评论 16

从零搭建 Node.js 企业级 Web 服务器(一):接口与分层
分层规范从本章起,正式进入企业级 Web 服务器核心内容。通常,一块完整的业务逻辑是由视图层、控制层、服务层、模型层共同定义与实现的,如下图:从上至下,抽象层次逐渐加深。从下至上,业务细节逐渐清晰。视图...

乌柏木45阅读 8.5k评论 6

从零搭建 Node.js 企业级 Web 服务器(二):校验
校验就是对输入条件的约束,避免无效的输入引起异常。Web 系统的用户输入主要为编辑与提交各类表单,一方面校验要做在编辑表单字段与提交的时候,另一方面接收表单的接口也要做足校验行为,通过前后端共同控制输...

乌柏木35阅读 6.7k评论 10

从零搭建 Node.js 企业级 Web 服务器(五):数据库访问
回顾 从零搭建 Node.js 企业级 Web 服务器(一):接口与分层,一块完整的业务逻辑是由视图层、控制层、服务层、模型层共同定义与实现的,控制层与服务层实现了业务处理过程,模型层定义了业务实体并以 对象-关系...

乌柏木34阅读 5k评论 9

2022大前端总结和2023就业分析
我在年前给掘金平台分享了《2022年热点技术盘点》的前端热点,算是系统性的梳理了一下我自己对前端一整年的总结。年后,在知乎上看到《前端的就业行情怎么样?》,下面都是各种唱衰前端的论调,什么裁员,外包化...

i5ting27阅读 2.2k评论 4

封面图
从零搭建 Node.js 企业级 Web 服务器(十三):断点调试与性能分析
Node.js 官方提供了断点调试机制,出于安全性考虑默认为关闭状态,可以通过 node 参数 --inspect 或 --inspect-brk 开启,配合 IDE 能够非常方便地调试代码,本章就上一章已完成的项目 licg9999/nodejs-server-ex...

乌柏木31阅读 4.2k评论 9

灵魂和皮囊能够握手言和,面子和里子能够始终如一。

272 声望
15 粉丝
宣传栏