azure-functions-cli 提供了一种启动调试的方法,但这些说明似乎是特定于 Visual Studio 的。
我尝试通过在 WebStorm 中设置运行配置以将 JavaScript 文件指向:
使用与无服务器类似的技巧\node_modules\azure-functions-cli\lib\main.js
然后传递应用程序参数:
run myFunctionName --debug
使用Azure的工具成功运行函数,但是WebStorm都尝试设置调试端口;当 Azure 窗口打开时,它会设置自己的调试端口。
来自网络风暴:
C:\Program Files (x86)\JetBrains\WebStorm 2016.2.3\bin\runnerw.exe" "C:\Program Files\nodejs\node.exe" --debug-brk=60168 --expose_debug_as=v8debug C:\Users\username\AppData\Roaming\npm\node_modules\azure-functions-cli\lib\main.js run myfunction --debug
Debugger listening on [::]:60168
System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException:
同样,Azure-cli 说它打开了一个调试端口,但它们不匹配。
因此,调用函数时设置的断点将被忽略(尽管它确实成功运行)。
有人知道如何正确配置它以便能够使用 WebStorm 进行调试吗?
Azure-Functions-CLI 更名为 azure-functions-core-tools。如果您仍然有 Azure-Functions-CLI,请参阅本文末尾的旧回复。
如果您正在运行新的 azure-functions-core-tools ,它们似乎破坏了运行远程调试器的能力:-(。
我打开了以下问题,如果他们告诉我,我会更新: https://github.com/Azure/azure-functions-core-tools/issues/378
幸运的是,新的 azure-functions-core 工具 Beta 版并没有所有这些 C# 疯狂,阻止它在其他操作系统上运行并需要远程调试器。要安装该版本,您可以使用:
npm i -g azure-functions-core-tools@core
安装该版本后,您可以使用良好的标准 Node 运行时启动程序。
注意:以上假设您在具有全局标志的 Windows 计算机上安装了 Azure Functions。
在 WebStorm 中选择运行-> 调试:“What_You_Named_the_Remote_Profile”
添加一些断点。
导航到您的 API 端点并查看断点是否有效。
注意:默认情况下,函数将位于 http://localhost:7071/api/functionName
---------------- 已编辑但为后代保留 --------------
好吧,看起来你不能用本地调试来做到这一点,但可以用 WebStorm 中的“远程调试”。
注意:以上截图已根据最新版本的Azure Functions CLI/.早期版本要求您声明应用程序名称,并且不需要 --debug 进行调试。因此,如果您没有更新到最新版本的 Azure Functions CLI(现在称为 Azure-Functions-Core-Tools),您可能需要在“参数”字段中“运行 MyApp”。
在 WebStorm 中选择运行-> 调试:“What_You_Named_the_Remote_Profile”
添加一些断点。
导航到您的 API 端点并查看断点是否有效。
注意:默认情况下,函数将位于 http://localhost:7071/api/functionName