VSCode调试Node.js应用需确保Node.js≥v18.19.0、VSCode≥1.85.0,正确配置launch.json支持npm script等模式,设置实心断点并启动“Launch via npm”调试会话。
如果您在vscode中启动node.js应用调试时无法进入断点或调试器无响应,则可能是由于launch.json配置不正确、node.js版本不兼容或调试端口被占用。以下是完成vscode调试node.js应用的完整操作流程:
本文运行环境:MacBook Air,macOS Sequoia。
一、确认Node.js与VSCode版本兼容性
VSCode内置的Node.js调试器依赖于V8 Inspector协议,需确保Node.js版本支持该协议且未被禁用。低于v8.0.0的版本不支持--inspect参数,而高于v18.0.0的LTS版本默认启用调试模式。
1、在终端中执行 node --version,确认输出为 v18.19.0 或更高版本。
2、执行 code --version,确认VSCode版本不低于 1.85.0。
3、若Node.js版本过低,通过nvm安装新版:nvm install 18.19.0 && nvm use 18.19.0。
二、初始化项目并生成launch.json
launch.json是VSCode调试配置的核心文件,必须位于项目根目录下的.vscode/子目录中;若文件不存在,VSCode可自动创建基础模板,但需确保当前工作区已打开有效Node.js项目(含package.json)。
1、在项目根目录执行 npm init -y,生成标准package.json。
2、按 Cmd+Shift+P(Mac)或 Ctrl+Shift+P(Windows/Linux),输入“Debug: Open launch.json”,回车。
3、在弹出的环境选择列表中,选择 Node.js,VSCode将自动生成.vscode/launch.json。
三、配置launch.json以支持常见调试场景
默认生成的配置仅支持直接运行JS文件,需手动扩展以覆盖npm script、ESM、TypeScript及附加到进程等模式。每个配置必须作为configurations数组中的独立对象存在。
1、打开 .vscode/launch.json,将 configurations 数组替换为以下内容:
1、演示:以截图为准 程序试用后台:http://你的域名/admin/login.asp 后台登陆帐号:admin 密码:admin 说明: 这个是基于asp+access的企业网站源码,数据库已设有有防下载,网站更安全 要修改网站,自定义你自己要的页面,和美化页面都是你自己完成,网站源码程序完整,后台功能强大。 调试运行环境:要安装IIS服务器(IIS的安装和配置,安装好后,在地址栏输入:h
2、添加“Launch via npm”配置:{"type": "node","request": "launch","name": "Launch via npm","runtimeExecutable": "npm","runtimeArgs": ["run","debug"],"console": "integratedTerminal","internalConsoleOptions": "neverOpen"}。
3、添加“Attach to Process”配置:{"type": "node","request": "attach","name": "Attach to Process","port": 9229,"address": "localhost","restart": true}。
四、启用调试并设置断点
断点是调试会话中暂停执行的关键标记,仅在JavaScript/TypeScript源码行号左侧红色圆点处生效;若断点显示为空心圆点,表示未绑定成功,通常因源码映射(source map)缺失或路径解析失败。
1、在待调试的JS文件中,点击行号左侧空白区域,出现实心红点即表示断点已激活。
2、按 Cmd+D(Mac)或 Ctrl+D(Windows/Linux)打开调试面板,从下拉菜单中选择“Launch via npm”。
3、点击绿色三角形“开始调试”按钮,VSCode将自动执行npm run debug(需提前在package.json中定义"debug": "node --inspect-brk index.js")。
五、使用调试控制台与变量观察
调试控制台允许在暂停状态下执行任意JavaScript表达式,其执行上下文与当前堆栈帧一致;变量观察窗实时展示作用域内变量值,支持展开对象属性与数组元素。
1、程序在断点暂停后,在调试侧边栏中点击 “变量” 面板,查看当前函数作用域内的所有变量。
2、在调试控制台中输入 typeof process.argv,回车,验证返回结果为 "object"。
3、右键点击变量名,选择 “复制值” 或 “添加到监视”,实现快速追踪。









