我正在尝试调试在WSL上运行的用Typescript编写的Node.js应用。
环境是:
我的launch.json是:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch via NPM",
"runtimeExecutable": "npm",
"runtimeArgs": [
"run-script",
"debug"
],
"port": 9229,
"useWSL": true,
"console": "externalTerminal",
"timeout": 100000,
"restart": true,
"sourceMaps": true
}
]
}
当我按F5键时,它不会在Debug断点处停止并说“找不到联合代码”。 但是当我查看dist文件夹时,它具有* .map文件。
您能帮我弄清楚吗?
有什么方法可以远程调试在WSL上运行的Typescript node.js应用程序? 我找不到解决方法。
谢谢!
-更新-
VSC 1.25有一个有关远程调试的错误,请尝试1.24.1或1.26
相反,我找到了如何附加它和调试器的方法。 launch.json需要以下内容:
{
"type": "node",
"request": "attach",
"name": "Attach WSL",
"port": 9229,
"sourceMaps": true,
"localRoot": "${workspaceFolder}",
"remoteRoot": "/mnt/c/prj/tmp/TypeScript-Node-Starter",
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
]
},
要进行测试,请在home.ts:8处设置断点,然后从浏览器中加载“ localhost:3000”。
初次尝试时可能会错过它(我知道这听起来很奇怪),但再次重新加载。 设置断点时,它可能会抱怨说“未验证...”或“尚未绑定”。但是,当代码运行时,将对其进行验证。
调试生活愉快!