azure - 无法在 VSCode 中调试 Azure Functions 核心工具
问题描述
我目前无法在 VS Code 中调试我的 Azure Functions Core Tools。我正在使用 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) 上运行它,除此之外它运行得非常好。
有人知道我在这里做错了什么吗?
解决方案
我不认为默认情况下启用调试。您必须设置语言工作者参数才能使其按文档说明工作。
在
local.settings.json
要在本地调试,请在 local.settings.json 文件中添加
"languageWorkers:node:arguments": "--inspect=5858"
,Values
并将调试器附加到端口 5858。使用
func
CLI
您可以使用--language-worker
参数进行设置
func host start --language-worker -- --inspect=5858
- 在 VS Code
中如果您使用 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
。
推荐阅读
- javascript - 尝试将数组的元素添加在一起
- c - 为什么竞争条件发生在循环中?
- spring-boot - 如何在 Eclipse 中从我的应用程序中打开源代码文件?
- javascript - 在 JS 中迭代 JSON 结构
- javascript - 事件处理函数中的变量不是动态解析的。为什么?
- python - 如何在 crontab 中配置项目和 virtualenv 路径以在 Django 中安排作业?
- matlab - 如何将原始时间数据从 .xlsx 文件导入 MATLAB
- angularjs - 用于十进制数验证的正则表达式
- django - 带有 auto_now_add 的 Django DateTimeField 要求默认值
- java - 我收到错误“不兼容的类型”,但它们不应该不兼容(Java)