VS Code调试Node.js核心 打断点 → F5 → 单步执行 + 看变量 - jerry

下面我用最常见、最实用的方式,带你一步步在 VS Code 调试 Node.js 代码(适合前端 / Node 开发日常用)。


一、最简单方式(推荐新手):直接调试当前 JS 文件

1️⃣ 准备一个 Node 文件

// index.js
function add(a, b) {return a + b;
}const result = add(2, 3);
console.log(result);

2️⃣ 在 VS Code 中打断点

  • 打开 index.js

  • 在行号左侧 点一下(出现红点)
    👉 这就是断点


3️⃣ 启动调试

两种方式任选:

  • 右上角 ▶️ Run

  • 或快捷键

    • macOS:F5

    • Windows:F5

👉 VS Code 会自动识别 Node.js,并启动调试


4️⃣ 常用调试操作

操作按键
继续执行 F5
单步跳过(Step Over) F10
进入函数(Step Into) F11
跳出函数(Step Out) Shift + F11
停止 Shift + F5

二、标准方式:使用 launch.json(真实项目必备)

1️⃣ 打开调试配置

  • 左侧点 Run and Debug

  • 点击 create a launch.json

  • 选择 Node.js


2️⃣ 最常见配置(Node 项目)

{"version": "0.2.0","configurations": [{"type": "node","request": "launch","name": "Debug Node App","program": "${workspaceFolder}/index.js","cwd": "${workspaceFolder}","console": "integratedTerminal","skipFiles": ["<node_internals>/**"]}]
}

📌 说明:

  • program:入口文件

  • cwd:工作目录

  • skipFiles:跳过 Node 内部代码(很重要)


三、调试 npm scripts(非常常用)

package.json

{"scripts": {"dev": "node src/app.js"}
}

对应的 launch.json

{"type": "node","request": "launch","name": "Debug npm run dev","runtimeExecutable": "npm","runtimeArgs": ["run", "dev"],"console": "integratedTerminal","skipFiles": ["<node_internals>/**"]
}

👉 调试真实项目 80% 都用这个


四、Attach 模式(调试已运行的 Node 进程)

1️⃣ 用 inspect 启动 Node

node --inspect index.js

或:

node --inspect-brk index.js

2️⃣ VS Code attach 配置

{"type": "node","request": "attach","name": "Attach Node","port": 9229,"skipFiles": ["<node_internals>/**"]
}

📌 适合:

  • 服务已经在跑

  • Docker / 远程服务

  • 线上问题复现


五、调试 Express / Koa(后端必会)

示例:Express

app.get('/test', (req, res) => {debugger; // 也可以直接写res.send('ok');
});

📌 访问接口时会自动断下


六、调试技巧(很重要)

✅ 1️⃣ debugger 关键字

debugger;

执行到这里 自动断点


✅ 2️⃣ 变量监控(Watch)

  • 左侧 Watch

  • 输入变量名或表达式

req.body
user.id

✅ 3️⃣ 条件断点

  • 右键断点 → Add Conditional Breakpoint

id === 1001

✅ 4️⃣ 调试 TS(Node + TS)

关键点:

  • 要有 sourceMap: true

  • 断点打在 .ts


七、最常见问题排查

❌ 断点不生效

✔ 检查:

  • 是否是编译后的代码(dist)

  • program 是否正确

  • 是否开启 source map


❌ 一直进 Node 内部源码

✔ 加上:

"skipFiles": ["<node_internals>/**"]

八、一句话总结(记这个就够)

VS Code 调试 Node.js 的核心就是:打断点 → F5 → 单步执行 + 看变量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1098131.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何根据年龄选择适合的近视防控方法?科学分龄,精准防控!

近视防控的核心逻辑在于“适配性”——不同年龄段人群的眼部生理结构、用眼场景存在显著差异&#xff0c;防控方案需精准匹配其特点&#xff0c;才能实现高效干预。忽视年龄差异的通用防控手段&#xff0c;往往难以达到理想效果。接下来&#xff0c;我们将按年龄段拆解核心防控…

详细解析 SYN泛洪

SYN 泛洪及相关知识解析当面试官问这个问题的时候&#xff0c;不要被 “SYN 泛洪” 这个名词给震慑到&#xff0c;其实面试官就是想知道计算机网络中关于 DDoS 攻击和 TCP 建立连接三次握手的相关知识的考核。不要担心&#xff0c;接下来将详细介绍一下 SYN 泛洪及其相关知识。…

项目风险预警:智能分析系统

项目风险预警:智能分析系统 关键词:项目风险预警、智能分析系统、风险评估、机器学习、数据分析 摘要:本文围绕项目风险预警智能分析系统展开,旨在为项目管理提供全面、高效且精准的风险预警解决方案。首先介绍了系统开发的背景、目的、预期读者和文档结构等内容,阐述了相…

Java毕设项目:基于SpringBoot的汽车配件仓储管理系统设计与实现(源码+文档,讲解、调试运行,定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

性价比高的循环水处理口碑好的公司

性价比高的循环水处理&#xff1a;口碑好的公司之选在工业生产和日常生活中&#xff0c;循环水处理至关重要&#xff0c;它不仅关系到设备的正常运行和使用寿命&#xff0c;还与环境保护和资源节约息息相关。选择一家性价比高且口碑好的循环水处理公司&#xff0c;是众多企业和…

军用车辆检测数据集介绍-2274张图片 军事侦察监控 卫星图像分析 边境安全防护 军事装备管理 战场态势感知 安全威胁评估

&#x1f4e6;点击查看-已发布目标检测数据集合集&#xff08;持续更新&#xff09; 数据集名称图像数量应用方向博客链接&#x1f50c; 电网巡检检测数据集1600 张电力设备目标检测点击查看&#x1f525; 火焰 / 烟雾 / 人检测数据集10000张安防监控&#xff0c;多目标检测点…

09. 图像的阈值处理

一、什么是阈值处理阈值处理是指剔除图像内的像素值高于一定值或者低于一定值的像素点。按照上述阈值处理方式,可以将一幅灰度图像处理为一幅二至图像,很好地将前景和背景区分开。我们可以在终端中使用 pip 安装 Ope…

福育未来人口监测与预测系统 个人项目汇报 102302138林楚涵

福育未来人口监测与预测系统 作者:林楚涵 所属团队:来财小组 角色:后端开发负责人 完成时间:2025年12月 一、项目概况 项目名称:福育未来 小组名称:来财 项目背景:全球正经历深刻的人口结构转型,核心特征为生育…

论文AI率从高到低,这五佳工具更快

又到毕业季&#xff0c;毕业论文除了查重外&#xff0c;真的别忘记查ai率。 今天就告诉大家高重复率以及高ai率应该如何快速降低&#xff01;实测全网产品&#xff0c;无广&#xff01;&#xff01; 如果这篇整理能帮你少走点弯路&#xff0c;那就值了。 1、嘎嘎降AI 官网&…

理解机器学习里的NFL定理

NFL定理Qwen3-max摘要&#xff1a;如果问题不确定&#xff0c;任何算法都没有优劣之分。换而言之&#xff0c;算法的优越性不是绝对的&#xff0c;而是相对于特定问题类而言的。没有“通用最优”算法&#xff0c;必须&#xff08;对应现实问题&#xff09;引入“归纳偏置”&…

五佳降AI工具分享,论文党必收藏

又到毕业季&#xff0c;毕业论文除了查重外&#xff0c;真的别忘记查ai率。 今天就告诉大家高重复率以及高ai率应该如何快速降低&#xff01;实测全网产品&#xff0c;无广&#xff01;&#xff01; 如果这篇整理能帮你少走点弯路&#xff0c;那就值了。 1、嘎嘎降AI 官网&…

Zed编辑器安装与使用Agent Servers(腾讯CodeBuddy、阿里百炼Qwen Code、DeepSeek Cli)

Zed编辑器安装与使用Agent Servers 在win11操作系统 腾讯CodeBuddy # 选择你喜欢的包管理器执行以下命令 npm install -g tencent-ai/codebuddy-code# 安装完成后&#xff0c;运行以下命令验证是否安装成功 codebuddy --version#2.26.0阿里百炼Qwen Code # 选择你喜欢的包管理器…

进程,动态库,COM机制关系概述

在一个应用程序运行实例中&#xff0c;主程序&#xff0c;以及所调用的模块&#xff0c;库都是在同一个进程中吗&#xff1f;它们的核心工作机制和原理是什么&#xff1f; 在一个应用程序的运行实例中&#xff0c;主程序、它调用的所有模块&#xff08;如DLL、SO&#xff09;和…

RAG学习笔记 检索优化

检索增强技术进阶学习笔记 混合检索 (Hybrid Search) 核心思想:结合稀疏向量与密集向量,利用关键词精确匹配与语义理解的双重优势,克服单一检索的局限性。 技术原理:稀疏向量 (Sparse Vectors):表示:基于词频统计…

【毕业设计】基于SpringBoot的汽车配件仓储管理系统设计与实现(源码+文档+远程调试,全bao定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

降AI率不靠硬改,前五工具更省事

又到毕业季&#xff0c;毕业论文除了查重外&#xff0c;真的别忘记查ai率。 今天就告诉大家高重复率以及高ai率应该如何快速降低&#xff01;实测全网产品&#xff0c;无广&#xff01;&#xff01; 如果这篇整理能帮你少走点弯路&#xff0c;那就值了。 1、嘎嘎降AI 官网&…

Kingbase-KEMCC配置集群监控纳管ES以及外部备份使用对象存储

之前有幸测试过的KEMCC&#xff0c; 有了新版本&#xff0c;有幸拿到内测版本&#xff0c;进行提前体验测试。 这里就不过多的介绍KEMCC和安装方式了&#xff0c;可以看这篇文章&#xff1a; Kingbase-金仓企业级统一管控平台KEMCC安装初体验 关于KEMCC非云初始化以及实例管…

Java计算机毕设之基于SpringBoot的汽车配件仓储管理系统设计与实现配件信息、供应商、库存、采购、销售(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

读书笔记7-12.4

第七章主要讲的是项目启动前必须搞定的那些“大问题”,就像盖房子前得先打好地基一样。作者认为,如果这些问题没想清楚,项目从一开始就注定要失败。这一章的核心思想是,在动手写代码之前,得先搞清楚用户到底要什么…