VSCode NodeJS 调试器说已附加,但它仅适用于我的 NodeJS 文件之一

问题描述 投票:0回答:1

我一直在使用附加调试器,直到昨天它都工作正常,但它似乎只在我的一个 Nodejs 文件上工作。当我附加调试器时,它会显示已附加,然后我可以在 loginController.js 文件中设置一个断点,当我在 React 前端中单击“注册”或“注销”时,它将命中该断点。当我在同一个项目中调试 React 代码时,它工作正常并命中我设置的断点。

在此之前,我可以在任何 Nodejs 文件中放置一个断点,当触发路由处理程序时,它会命中它们。但现在看来不是了。

我的仓库我唯一可以命中断点的文件是后端->控制器中的loginController.js。

我已经回到以前的项目,它也不起作用,我无法达到任何断点。我还回到了之前的提交,它确实有效。我不确定 VSCode 在最近的更新中是否有错误,但我在谷歌搜索时找不到任何东西。

我还设置了一个空白的 Express 项目,并发送了附加调试器的邮递员请求。它不会触发,但邮递员收到我回复的 res.json 消息。

我尝试了多个 luanch.json 但没有任何效果。我的 launch.json 在 .vscode 中。

node.js express visual-studio-code debugging vscode-debugger
1个回答
0
投票

Myabe 尝试以下选项之一

使用 vscode 自行启动它

//...
"configurations": [
    {
        "name": "Launch Program",
        "program": "${workspaceFolder}/app.js",
        "request": "launch",
        "skipFiles": ["<node_internals>/**"],
        "type": "node"
    }
]
//...

将调试器附加到节点进程

$ node --inspect ./bin/www

然后在vscode中 按 F1 然后输入“附加到节点进程” 并选择您的流程 我建议你更准确地记录 pid 所以您可以确定您正在附加正确的流程

console.log(process.pid)

不要使用nodemon

也许nodemon 导致了一些问题,因为它启动应用程序的方式

重命名/backend/bin/www

也许这个文件的名称导致了所有这些问题 所以尝试将其重命名为 /backend/bin/www.js 或者类似的东西

© www.soinside.com 2019 - 2024. All rights reserved.