【问题标题】:Unable to debug Azure Functions Core Tools in VSCode无法在 VSCode 中调试 Azure Functions 核心工具
【发布时间】:2019-05-01 14:32:26
【问题描述】:

我目前无法在 VS Code 中调试我的 Azure Functions 核心工具。 我正在使用 npm 包azure-functions-core-tools@2。 正如我阅读许多资源func host start/func start 应该始终以--inspect=9229 启动节点进程。如您所见,在我的设置中并非如此:

[4/30/19 4:51:25 AM] Starting language worker process:node  "/usr/lib/node_modules/azure-functions-core-tools/bin/workers/node/dist/src/nodejsWorker.js" --host 127.0.0.1 --port 50426 --workerId 3e909143-72a3-4779-99c7-376ab3aba92b --requestId 656a9413-e705-4db8-b09f-da44fb1f991d --grpcMaxMessageLength 134217728
[4/30/19 4:51:25 AM] node process with Id=92 started
[4/30/19 4:51:25 AM] Generating 1 job function(s)
[...]
[4/30/19 4:51:25 AM] Job host started
Hosting environment: Production

所有更改托管环境的尝试都失败了。我尝试将FUNCTIONS_CORETOOLS_ENVIRONMENT添加到我的本地配置中,导致错误:

An item with the same key has already been added. Key: FUNCTIONS_CORETOOLS_ENVIRONMENT

我尝试在我的启动和任务设置中添加几个环境变量,使用--debug,更改项目设置。没有任何效果。

我目前在 Linux 的 Windows 子系统 (WSL) 上运行它,除此之外它运行良好。

有人知道我在这里做错了什么吗?

【问题讨论】:

    标签: azure visual-studio-code azure-functions azure-functions-core-tools


    【解决方案1】:

    我认为默认情况下不启用调试。您必须将语言工作者参数设置为documented

    1. local.settings.json

      要在本地调试,请在 local.settings.json 文件的 Values 下添加 "languageWorkers:node:arguments": "--inspect=5858",并将调试器附加到端口 5858。

    2. 使用func CLI
      您可以使用--language-worker argument

    3. 进行设置
    func host start --language-worker -- --inspect=5858
    
    1. 在 VS 代码中
      如果您使用 VS Code 和 Azure Functions 扩展进行开发,则会自动添加 --inspect,因为在 .vscode/tasks.json 中设置了相应的环境变量
    {
      "version": "2.0.0",
      "tasks": [
        {
          "label": "runFunctionsHost",
          "type": "shell",
          "command": "func host start",
          "isBackground": true,
          "presentation": {
            "reveal": "always"
          },
          "problemMatcher": "$func-watch",
          "options": {
            "env": {
              "languageWorkers__node__arguments": "--inspect=5858"
            }
          },
          "dependsOn": "installExtensions"
        },
        {
          "label": "installExtensions",
          "command": "func extensions install",
          "type": "shell",
          "presentation": {
            "reveal": "always"
          }
        }
      ]
    }
    

    如果您愿意,也可以直接设置此环境变量,而不是将其添加到 local.settings.json 中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-11
      • 2020-01-30
      • 2022-06-24
      相关资源
      最近更新 更多