azure-functions-cli offers a way to kickoff debugging,但这些说明似乎是特定于Visual Studio的。
我尝试通过在WebStorm中设置运行配置将JavaScript文件指向:
,使用类似的技巧来实现无服务器 \node_modules\azure-functions-cli\lib\main.js
然后传递Application args:
run myFunctionName --debug
使用Azure的工具成功运行这些功能,但WebStorm都尝试设置调试端口;当Azure窗口打开时,它会设置自己的调试端口。
来自Webstorm:
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进行调试?
答案 0 :(得分:4)
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中选择Run->调试: “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中选择Run->调试: “What_You_Named_the_Remote_Profile”
添加一些断点。
导航到您的API终点,看看断点是否有效。
注意:默认情况下,该功能显示为http://localhost:7071/api/functionName
答案 1 :(得分:3)