无法在 Visual Studio 代码中为“npx”启动的应用程序启动调试

Posted

技术标签:

【中文标题】无法在 Visual Studio 代码中为“npx”启动的应用程序启动调试【英文标题】:Unable to launch Debugging for a "npx" launched App in visual studio code 【发布时间】:2018-11-22 03:24:17 【问题描述】:

我需要启动一个特定的 .js 文件来执行,这样:

    npx app.js launch.conf.js //用于执行脚本

    npx app.js debug.conf.js //用于调试脚本

在我的 debug.conf.js 中包含

const config = 
  debug: true,
  execArgv: ['--inspect-brk'],
  maxInstances: 1,
  cucumberOpts: 
    timeout: 30 * 1000 * 4,
  ,
;
exports.config =config

,当我通过 CMD 执行第二个命令时,我可以使用 chromedev 工具调试器进行调试。 但是当我需要使用 VS 代码编辑器进行调试时:这存在于我的 launch.json 文件中:

"type": "node",
"name": "manager",
"request": "launch",
"protocol": "auto",
//  "port": 5859,
"program": "$workspaceRoot\\node_modules\\cdem\\bin\\app",
"execArgv": ["--inspect-brk"],
"args": [
    "run wdio.debug.conf.js"
]

我不断收到控制台操作:调试器已连接,等待调试器断开连接并且未启动执行。

谁能告诉我如何使用 VS Code 调试这个应用程序?

【问题讨论】:

npx 需要一个模块/bin 作为它的第一个参数。因此,如果您将 jest 作为模块安装,您可以运行 npx jest ...。我认为npx app.js 没有意义。 不确定这是否仍然是实际的,WebdriverIO 调试文档已更新,并且有一个示例 VSCode 配置 webdriver.io/docs/… 它是否解决了您的问题? 【参考方案1】:

https://webdriver.io/docs/debugging 提供了如何在 VS 代码中运行的详细信息(thank you Mike (comment)):

    转到运行和调试选项卡/刀片(Ctrl + Shift + D

    创建一个 launch.json 文件(例如,在环境栏输入 Node.js)或点击顶部的齿轮以获取其他选项

    .vscode/launch.json 打开或定位并打开它(从项目的根文件夹)

    将此粘贴​​到 configurations 数组中,根据您的参数/参数进行调整并保存文件:

     
         "name": "run select spec",
         "type": "node",
         "request": "launch",
         // To run all spec files remove "--spec", "$file" from below
         "args": ["wdio.conf.js", "--spec", "$file"],
         "cwd": "$workspaceFolder",
         "autoAttachChildProcesses": true,
         "program": "$workspaceRoot/node_modules/@wdio/cli/bin/wdio.js",
         "console": "integratedTerminal",
         "skipFiles": [
             "$workspaceFolder/node_modules/**/*.js",
             "$workspaceFolder/lib/**/*.js",
             "<node_internals>/**/*.js"
         ]
     ,
    

    通过从左上角下拉/选择菜单中选择此配置(例如“运行选择规范”)来运行上述操作(如果已选择,请按 F5)。

【讨论】:

以上是关于无法在 Visual Studio 代码中为“npx”启动的应用程序启动调试的主要内容,如果未能解决你的问题,请参考以下文章

错误 C2536 的解决方法:无法在 Visual Studio 2013 中为数组指定显式初始化程序

如何在 Visual Studio 2017 中为 Windows XP 编译代码

在 Visual Studio 2015 中为自定义代码分析器抑制警告

如何在 WSL 的 Visual Studio Code 中为 PHP 开发设置我的 PHP 可执行路径?

在 Visual Studio 2012 中为我的 c++ 项目设置 Aquila

在 Visual Studio 设计器中为控件指定双击事件