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

下面我用最常见、最实用的方式,带你一步步在 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 → 单步执行 + 看变量。

posted @ 2025-12-30 23:16  jerry-mengjie  阅读(39)  评论(0)    收藏  举报