我正在使用HTTP触发器Azure函数。当我运行我的应用程序(按F5),点击http://localhost:7071/api/HttpTrigger1
后,我在浏览器中得到响应,但代码不会在断点处停止。
经过仔细观察,我看到调试器启动0.5秒,然后自动关闭。
我已经发布了视频here。在第5秒,我们可以看到调试器启动,但立即关闭(橙子屏幕在第5秒)。
有一个similar question on Stackoverflow,但这并没有解决我的问题。
我正在使用HTTP触发器Azure函数。当我运行我的应用程序(按F5),点击http://localhost:7071/api/HttpTrigger1
后,我在浏览器中得到响应,但代码不会在断点处停止。
经过仔细观察,我看到调试器启动0.5秒,然后自动关闭。
我已经发布了视频here。在第5秒,我们可以看到调试器启动,但立即关闭(橙子屏幕在第5秒)。
有一个similar question on Stackoverflow,但这并没有解决我的问题。
5条答案
按热度按时间tvokkenx1#
我也经历过同样的情况,在Mac上调试VS代码中的Azure函数。我在Omnishark GitHub上发现了这个关于这个问题的开放问题:
https://github.com/OmniSharp/omnisharp-vscode/issues/4903
最后,basilfx的解决方法最终帮助了我:
我是被上面日志中关于代码签名的一行日志触发的。因此,我尝试了以下方法:
我现在可以从VS Code附加到一个正在运行的./vsdbg-ui --server --consoleLogging --engineLogging示例,该示例在断点处停止。这是一种变通方法,但它显示vsdbg和/或vsdbg-ui的代码签名有问题。
2022-04-20:可以使用OmniSharp 1.24.4确认这仍然有效。
pw9qyyiw2#
在Visual Studio代码中运行/调试Azure函数的先决条件:
1.此外,确保系统上安装了Storage Emulator,即使它已弃用,但仍用于本地环境调试和测试目的
local.settings.json
.csproj文件:
调试结果:
在Run方法中的某个代码行处放置断点并开始调试。
所有的代码文件和调试视频都可以在GitHub Repository和debugging video中找到,请将每个文件与您的代码进行比较。
如本VS Code Official Documentation中所述,需要安装用于调试目的的语言运行时扩展,如C# for .NET,Python,Java,JavaScript,PowerShell等。
例如,对于上面的
.NET
Azure Functions项目,我在VS Code中安装了此扩展:安装这些扩展的链接在先决条件和超链接格式中给出。
调试Azure函数的VS Code参考:
9cbw7uwe3#
我也有类似的问题。
我有多个python azure函数库,我在vs-code中工作。如果在编辑器中打开的文件有错误(lint错误,mypy错误等),每当我试图启动调试会话时,函数都会启动,但最终会从调试会话中分离。在此日志打印之后:
INFO: Detaching console logging.
然后它不会在断点处停止并记录调试日志。不幸的是,我还没有一个解决方案。我有一个工作的解决方法你可以试试:
关闭任何打开的有错误的文件(你可以关闭所有的文件),并启动调试会话(f5),我发现它是这样工作的,在断点处停止,而不是分离调试器。
如果你(或任何人)找到了一个有效的解决方案,请分享。
v64noz0r4#
在我的情况下,我在Mac上运行。这个答案奏效了https://github.com/OmniSharp/omnisharp-vscode/issues/4900
我把launch.json改成了:
对此:
vddsk6oq5#
**打开用户设置(JSON)**文件,添加下面的条目。这对我很有效,希望对其他人也有效。
“azureFunctions.pickProcessTimeout”:180
**注意:**默认超时为60,我们将其更改为180。