VSCode配置Node.js调试简单代码时遇报错问题求助
问题情况
调试以下Node.js代码时,在第2行设置断点,选择Node.js调试配置触发"Cannot read properties of undefined (reading 'fsPath')"错误;使用指定launch.json运行时出现断言错误Assertion '(expected_utf16_length) == (utf16_length)' failed。
测试代码:
var a =1; var b = 1; var c = a + b; console.log(c);
使用的launch.json配置:
{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "Launch Program", "skipFiles": [ "<node_internals>/**" ], "program": "app.js" } ] }
解决步骤
更新VS Code及Node.js调试插件
老旧版本的VS Code或内置Node.js调试插件可能存在兼容性bug。将VS Code升级到最新稳定版,同时在扩展面板搜索"Node.js",更新对应的调试插件。修正launch.json的路径配置
把program字段改为带工作区变量的绝对路径,确保调试器能正确定位文件:"program": "${workspaceFolder}/app.js"清理VS Code缓存
关闭VS Code,删除以下缓存目录后重新启动:- Windows系统:
%APPDATA%\Code\Cache、%APPDATA%\Code\CachedData
- Windows系统:
切换Node.js版本
当前使用的Node.js版本可能存在调试相关bug,用nvm(Node版本管理器)切换到LTS版本(如18.x、20.x),或直接安装最新稳定版,排除版本兼容性问题。检查项目路径是否合规
如果项目所在路径包含中文、空格或特殊符号,会导致路径解析失败。将项目移动到纯英文无特殊字符的路径下,比如C:\Projects\node-test。排查扩展冲突
第三方VS Code扩展可能与调试器冲突。禁用所有非必要扩展,再逐个启用排查,找到引发问题的扩展。
额外验证
如果上述方法无效,可直接在终端执行node inspect app.js启动调试,判断是VS Code插件问题还是Node.js本身的问题。
内容的提问来源于stack exchange,提问作者Itamar Abargel

