VSCode 开发调试断点配置 launch.json

本文介绍了如何使用VSCode进行Node.js项目的调试,包括配置launch.json文件、利用npm脚本进行调试以及同时启动多个调试进程的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前提

对于开发者来讲,怎么科学合理的进行程序调试是至关重要的。调试工具可以协助开发者清晰的看到程序的走向以及程序每一步执行的详细信息。

开发前端项目,比如 React,vue等,开发者可以直接在代码中插入 debugger 进行调试。

Node 程序调试,我们可以借助开发工具 vscode 提供的能力进行操作。

调试配置

  1. 选择调试选项,create a lunch.json file

image-20210203104215522

  1. 选择需要调试的环境,以 Node 程序调试

image-20210203104109965

系统生成最基础的模版信息

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program", //调试程序名称,方便开发者区分
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "${workspaceFolder}/index.js" // 调试程序入口
        }
    ]
}

根据 program 参数可以看出,默认是以跟路径下 index.js作为入口执行调试。启动方式类似于直接控制台 node index.js,但是有时候我们碰到使用必须使用 npm 启动的程序,比如使用 eggjs nest 这些框架时,入口 js 是被隐藏的,都是通过框架提供的 bin命令启动的。

  1. npm 启动调试

vscode 直接提供可视化操作让我们继续追加 configuration 配置信息。

image-20210203105609983

vscode 提供了很多configuration 配置模版,因为此处需要调试 npm 脚本,所以选择下图选项。

提供的模块大家感兴趣可以都自己尝试下,毕竟纸上得来终觉浅

image-20210203105757960

{
  "version": "0.2.0",
  "configurations": [
  // npm 调试配置
    {
      "command": "npm dev",
      "name": "NPM 调试",
      "request": "launch",
      "type": "node-terminal"
    },
    {
      "type": "node",
      "request": "launch",
      "name": "JS文件调试", //调试程序名称,方便开发者区分
      "skipFiles": ["<node_internals>/**"],
      "program": "${workspaceFolder}/app.js" // 调试程序入口
    }
  ]
}

  1. 选择调试配置

image-20210203110922779

  1. 调试快捷键 F5
  2. 同时启动多个调试进程
// launch.json 

 "compounds": [
    {
      "name": "同时调试",
      "configurations": ["NPM 调试", "JS文件调试"],
    }
  ]

调试控制

image-20210203112025795

按钮功能说明从左到右依次说明

  • Continue 直接跳过当前断点到下一个断电或者直接结束断点

  • Step Over 单步执行时,遇到子函数时不会进行子函数内执行,而是执行完整个子函数

  • Step Into 单步执行时,遇到子函数会进入内部并且继续单步执行

  • Step Out 单步执行进入子函数内部时, 可以执行完子函数余下部分,并且返回上一层函数调用处

  • Restart 重新执行

  • Stop 关闭

### 如何在 VSCode 中通过配置 `launch.json` 实现断点调试 #### 创建和编辑 `launch.json` 为了能够在 VSCode 中进行有效的断点调试,首先需要创建或修改 `.vscode/launch.json` 文件。此文件位于项目的根目录下`.vscode` 文件夹内[^1]。 如果项目中尚未存在该文件,在 VSCode 的左侧活动栏中点击调试图标(图标形状像一只甲虫),然后点击页面顶部的齿轮图标来创建一个新的 `launch.json` 文件。此时可以选择适合所编写代码类型的预设模板,比如 Python、JavaScript 或 C++ 等[^4]。 #### 配置基本属性 一个典型的 `launch.json` 文件至少应包含以下几个重要部分: - **name**: 给这个特定的调试配置命名,便于识别。 - **type**: 指定使用的调试器类型,这取决于正在开发的应用程序语言和技术栈。例如 `"python"` 对于Python应用程序;`"pwa-node"` 表示 Node.js 应用程序。 - **request**: 设置请求模式,通常为 `"launch"` (启动新进程)或 `"attach"` (附加到现有进程中)。 - **program**: 当 request 是 "launch" 时,这是要运行的目标文件路径;当 request 是 "attach" 时,则是指向待连接进程的信息。 - **args**: 启动目标时传递给它的命令行参数列表。 - **cwd**: 工作目录的位置,即相对于工作区的工作空间位置。 - **console**: 控制台终端的选择项,如内置终端 (`internalConsole`) 或外部终端 (`externalTerminal`)。 对于 Python 用户来说,下面是一个简单的例子,展示了如何针对名为 `train.py` 的脚本设置 `launch.json` 来支持断点调试功能[^3]: ```json { "version": "0.2.0", "configurations": [ { "name": "(Windows) Launch Train Script", "type": "python", "request": "launch", "program": "${workspaceFolder}/train.py", "args": ["arg1", "arg2"], "env": {"KEY": "value"}, "console": "integratedTerminal" } ] } ``` 这段 JSON 定义了一个新的调试配置,其中指定了要执行的具体 Python 脚本(`${workspaceFolder}/train.py`) 和任何必要的命令行参数(`["arg1","arg2"]`)。还设置了环境变量(`{"KEY":"value"}`),这对于某些依赖于特定环境设置的应用可能是必需的。 #### 使用断点进行调试 一旦完成了上述配置,就可以利用 VSCode 内建的强调试特性来进行更深入的分析了。只需双击左边空白处即可在一个源码行前添加断点。当触发这些断点时,VSCode 将暂停执行流程,并允许查看当前状态下的局部变量和其他上下文信息。此外还可以逐步执行代码(Step Over, Step Into), 查看堆栈跟踪(Call Stack), 修改表达式的值(Watch Expressions)等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乐闻x

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值