VS Code JS Debugger为何在Node.js ES模块中无法暂停未捕获异常?
解决方案
调整VS Code调试配置(launch.json)
针对ES模块,确保调试配置包含必要参数,示例配置如下:{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "调试ES模块", "program": "${workspaceFolder}/你的入口文件.js", "skipFiles": ["<node_internals>/**"], "console": "integratedTerminal", "sourceMaps": true, "resolveSourceMapLocations": ["${workspaceFolder}/**", "!**/node_modules/**"] } ] }若使用Node v13-16版本,需额外添加
runtimeArgs:["--experimental-modules"](v17+已默认支持ES模块)。升级Node.js版本
旧版本Node对ES模块的调试支持存在兼容性bug,建议升级到v18.x或更高稳定版,多数异常捕获相关问题在新版本中已修复。排查插件冲突
暂时禁用VS Code中除内置"Node.js Debug"外的所有第三方插件,重启调试后确认是否因插件干扰导致异常无法暂停。手动启动调试进程
在终端执行命令启动调试:node --inspect-brk 你的入口文件.js然后在VS Code调试面板选择"Attach to Node.js"配置(无配置可自动生成),启动附加调试,绕开launch配置的潜在问题。
检查源映射配置
若使用编译工具(如Babel),需开启源映射输出,VS Code调试器依赖正确的源映射才能准确定位代码并捕获异常。
内容的提问来源于stack exchange,提问作者hedgehog90
相关产品推荐
相关产品推荐

