javascript - 天蓝色函数 : How to debug in WebStorm?

标签 javascript node.js debugging webstorm azure-functions

azure-functions-cli offers a way to kickoff debugging ,但这些说明似乎是特定于 Visual Studio 的。

我尝试通过在 WebStorm 中设置运行配置以将 JavaScript 文件指向:

\node_modules\azure-functions-cli\lib\main.js

然后传递应用程序参数:

运行 myFunctionName --debug

这使用 Azure 的工具成功运行了函数,但是 WebStorm 都尝试设置调试端口;当 Azure 窗口打开时,它会设置自己的调试端口。

来自网络 Storm :

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\用户名\AppData\Roaming\npm\node_modules\azure-functions-cli\lib\main.js run myfunction --debug 监听 [::]:60168 的调试器 System.Net.Http.HttpRequestException:发送请求时出错。 ---> 系统.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 运行时启动程序。

  1. 在 WebStorm 中,从运行 -> 编辑配置创建一个新的“Node.JS”。
  2. 为调试命名。
  3. 将 JavaScript 文件设置为: ~\AppData\Roaming\npm\node_modules\azure-functions-core-tools\lib\main.js

注意:以上假定您在具有全局标志的 Windows 计算机上安装了 Azure Functions。

  1. 将应用程序参数设置为:start --debug VSCODE

enter image description here

  1. 编辑文件“.vscode\launch.json”并将 Node 的调试端口更改为 9229。
  2. 在 WebStorm 中选择运行 -> 调试:“What_You_Named_the_Remote_Profile”

  3. 添加一些断点。

  4. 导航到您的 API 端点并查看断点是否有效。

注意:默认情况下,该函数位于 http://localhost:7071/api/functionName

---------------- 已编辑但为后代保留 --------------

好吧,看起来你不能用本地调试来做到这一点,但可以用 WebStorm 中的“远程调试”。

  1. 在 WebStorm 中,从运行 -> 编辑配置创建一个新的“Node.JS 远程调试”。
  2. 为调试命名。
  3. 点击“启动前:外部工具”处的 + 号,然后选择“运行外部工具”。
  4. 再次点击 + 号并像屏幕截图一样填写它(假设您全局安装了 Azure Function CLI)。 enter image description here

注意:以上截图已根据最新版本的 Azure Functions CLI/.早期版本要求您声明应用程序名称,并且不需要 --debug 进行调试。因此,如果您没有更新到最新版本的 Azure Functions CLI(现在称为 Azure-Functions-Core-Tools),您可能需要在“参数”字段中“运行 MyApp”。

  1. 在 WebStorm 中选择运行 -> 调试:“What_You_Named_the_Remote_Profile”

  2. 添加一些断点。

  3. 导航到您的 API 端点并查看断点是否有效。

注意:默认情况下,该函数位于 http://localhost:7071/api/functionName

关于javascript - 天蓝色函数 : How to debug in WebStorm?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41688100/

相关文章:

debugging - 在@parallel 中调用函数会导致巨大的内存分配

javascript - 刷新页面后如何在运行时更改代码

javascript - HTML5 数据属性将 null 和 undefined 转换为字符串

javascript - Angular 图表 - 无法读取数据

javascript - JavaScript绘制流程图的绘图库

node.js - 通过 Dialogflow 实现在 Google Actions 上设置上下文

node.js - 使用 SailsJS 模型定义获取查询属性

node.js - 运行2个重复的异步功能,而不会在等待时暂停其他功能

java - 为什么Java的调试Hot Swap仅限于方法内的变化?

javascript - 如何从JavaScript(客户端)调用Helper方法(服务器端)?