在WSL

时间:2018-07-10 08:09:56

标签: typescript visual-studio-code windows-subsystem-for-linux

我正在尝试调试在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”。

初次尝试时可能会错过它(我知道这听起来很奇怪),但再次重新加载。 设置断点时,它可能会抱怨说“未验证...”或“尚未绑定”。但是,当代码运行时,将对其进行验证。

调试生活愉快!

0 个答案:

没有答案