如何调试Azure上ASP.NET Core Blazor Server应用的Main()方法
调试Azure App Service中Blazor Server应用的Program.cs启动代码
要触发Program.cs里Main方法启动阶段的断点,你需要让应用在启动时暂停等待调试器连接,具体步骤如下:
1. 开启Azure App Service远程调试
- 登录Azure门户,找到你的目标App Service
- 进入配置 > 常规设置,找到「远程调试」选项,设置为「开启」,选择和你本地Visual Studio匹配的版本(比如VS2022),保存更改
2. 配置应用启动时等待调试器
- 在App Service的配置 > 应用程序设置里,添加新的环境变量:
- 名称:
ASPNETCORE_DEVELOPER_OVERRIDES - 值:
WaitForDebugger=true
- 名称:
- 保存设置,此时App Service会自动重启,但应用会卡在启动流程,等待调试器连接
3. 在Visual Studio中附加调试器并触发断点
- 打开本地的Blazor Server项目,在
Program.cs的var version = typeof(Program).Assembly.GetAssemblyFileVersion();行设置断点 - 按下快捷键
Ctrl+Alt+P打开「附加到进程」窗口 - 在「连接目标」输入框中,填入你的App Service远程调试地址(格式示例:
your-app-name.scm.azurewebsites.net:4026,VS2022对应端口4026,VS2019是4024,其他版本可对应调整端口) - 在进程列表中找到
dotnet.exe(或你的应用进程名),点击「附加」
附加成功后,应用会继续执行启动流程,你的断点会立即触发,此时就可以调试Main方法里的代码了。
注意:调试完成后,记得关闭App Service的远程调试,并移除
ASPNETCORE_DEVELOPER_OVERRIDES环境变量,避免影响应用运行性能。
内容的提问来源于stack exchange,提问作者David Thielen
相关产品推荐
相关产品推荐

