微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在本地启动 Azure 函数并通过 launch.json 和 tasks.json 附加调试器进行动态处理?

如何解决如何在本地启动 Azure 函数并通过 launch.json 和 tasks.json 附加调试器进行动态处理?

在带有 Visual Studio Code 的 Mac 上使用 .NET Core,我尝试在本地托管 Azure 函数,并将调试器附加到它。 手动,我可以通过使用 func host start 启动函数,然后在运行认 launch.json 文件的 IDE 中按下调试按钮来使其工作。由于 "processId": "${command:pickProcess}" 行,这让我选择一个将调试器附加到的进程。

我想自动化这个流程,只需点击 VSCode 中的调试按钮即可触发它。

launch- and tasks.json

在上图中,我尝试通过在连接调试器之前运行 prelaunchTask解决此问题。此任务应托管并启动该功能 - 当与流隔离时,它会成功执行此操作。 但是,当我使用上述配置点击调试按钮时,VSCode 让我在实际完成 prelaunchTask 之前立即选择一个进程,因此进程 func 尚不可用。

我的思路是否合理? 为了让它起作用,我可能会缺少什么?

解决方法

您可以尝试create the local Functions app with the Visual Studio Code Functions extension。当您使用扩展程序创建 Functions 应用程序时,它会自动将 VS Code 启动配置添加到您的项目中,该配置至少适用于我的机器:-)。

我的配置和您的配置之间的一个区别是 processId,您可以将其更改为: "processId": "${command:azureFunctions.pickProcess}"

,

VSCode Function 扩展的作用很吸引人,问题是团队已经开始在 Visual Studio Windows 中使用这个解决方案,所以我必须适应它。

我没有注意到扩展随附的启动配置中的 azureFunctions 部分! 我将 launch.json 编辑为以下内容:

{
  "name": "Attach to .NET Functions","type": "coreclr","request": "attach","processId": "${command:azureFunctions.pickProcess}"
}

这似乎成功了!请注意,不再有 preLaunchTask。但是,主机启动,调试器连接! 谢谢@MartinBrandl!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?