NodeJS WSL中的节点调试

efzxgjgh  于 2023-05-17  发布在  Node.js
关注(0)|答案(2)|浏览(141)

我在VSCode中使用Windows 10 WSL。
我有扩展远程开发,WSL,我有节点安装,以及nvm。
当在远程WSL中工作并尝试调试时,我根本没有Node选项。
当我运行这个文件时,我得到:
No debugger available, can not send 'variables'
我的launch.json如下:

// Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "skipFiles": [
                "<node_internals>/**"
            ],
            "program": "${file}"
        }
    ]
}```

Can someone please help me fix it by adding Node.js option so I can properly debug?

Thanks a lot in advance!
mgdq6dx1

mgdq6dx11#

你最终找到解决方案了吗?
我添加了类似的问题,我只能通过显式指定节点二进制路径来使事情正常工作。
1.通过发出以下命令获取节点二进制路径:
which node
1.然后将其添加到launch.json配置中:

{
    "name": "Launch Program",
    "program": "${workspaceFolder}/helloworld.js",
    "request": "launch",
    "skipFiles": [
        "<node_internals>/**"
    ],
    "type": "pwa-node",
    "runtimeExecutable": "/home/user01/.nvm/versions/node/v14.18.0/bin/node"
},

仍然有一些是错误的,即使我只是安装教程:
https://learn.microsoft.com/en-us/windows/dev-environment/javascript/nodejs-on-wsl

qjp7pelc

qjp7pelc2#

经过许多许多小时的斗争,我终于得到了我的工作。这是笨重和笨拙的,但它至少工作,并使我能够调试。
tsconfig.json中设置"sourceMap": true
使用此启动配置

{
  "name": "Attach",
  "request": "attach",
  "type": "node"
  "port": 9229,
  "sourceMaps": true,
  "skipFiles": [
    "<node_internals>/**"
  ]
}

package.json中添加此脚本(用您的文件名替换文件名)

{
  "scripts": {
    "debug": "node --inspect ./dist/src/index.js"
  }
}

完成所有设置后,要调试应用程序,请在终端窗口中执行以下命令

npm run debug

然后按F5附加到进程。
请注意,您需要在tsconfig.json和启动配置中启用源Map。

相关问题