如何使用VS Code调试npm本身(不是我的代码)?

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

npmnpm的代码中崩溃,而不是我的代码。我想使用VSCode IDE调试器调试到npm进程,以便我可以检查调用堆栈中的变量以试图找出出错的地方。

什么是正确的launch.json配置调试npm本身?

npm visual-studio-code vscode-debugger
1个回答
0
投票

我浪费了半个小时试图解决这个问题,所以在这里分享答案来帮助别人。

诀窍(至少在我的Mac上)是运行npm-cli.js而不是运行npm可执行文件。

这是我用来调试launch.jsonnpm outdated -g配置。要调试其他npm命令,只需更改下面的args即可。

{
  "type": "node",
  "request": "launch",
  "name": "Debug NPM Outdated",
  "cwd": "/usr/local/lib/node_modules/npm/bin/",
  "args": [
    "npm-cli.js",
    "outdated",
    "-g",
  ],
  "protocol": "inspector",
  "console": "integratedTerminal",
  "internalConsoleOptions": "neverOpen",
  "disableOptimisticBPs": true
},

我没有测试过他是否能够调试由npm运行的其他代码,但是如果这对于调试webpack插件有用,那就太酷了!

顺便说一句,我试图捕获的具体npm错误已在[email protected]中修复,应尽快发布。见https://github.com/npm/cli/pull/173

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