Maui Blazor在iPhone真机出现未处理错误,如何查看错误输出?
如何查看MAUI Blazor在iPhone真机上的错误输出
问题说明
使用Visual Studio 2022 for Windows通过USB线调试MAUI Blazor应用到iPhone真机时,打开应用弹出错误提示:"An unhandled error has occurred. Reload"。尝试通过chrome://inspect/#devices检查设备,但未显示iPhone。以下是index.razor中的代码:
@if (dataObjects is not null) { @foreach (var product in dataObjects) { @if (@product.Sl.HasValue) { <tr> <td>Số Lượng: @product.Sl</td> </tr> <tr> <td>Tiền Mặt: @Math.Round(product.TienMat.Value, 2).ToString("n2")</td> </tr> <tr> <td> Thẻ: @if (@product.The.HasValue) @Math.Round(product.The.Value, 2).ToString("n2") </td> </tr> <tr> <td> Lợi Nhuận: @Math.Round(product.LoiNhuan.Value, 2).ToString("n2")</td> </tr> } } } <button @onclick="OnRefreshClicked">Refresh</button> @code { private List<ThongTinBanHangTrongNgay> dataObjects; private HttpClient client; private UltiHelps ultiHelps; private async Task OnRefreshClicked() { client = new HttpClient(); TimeZoneInfo zone = TimeZoneInfo.FindSystemTimeZoneById("AUS Eastern Standard Time"); DateTime australianNow = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, zone); String TodayDate = australianNow.ToString("yyyy-MM-dd"); HttpResponseMessage response = await client.GetAsync("XXXXX"); if (response.IsSuccessStatusCode) { string json = await response.Content.ReadAsStringAsync(); dataObjects = JsonConvert.DeserializeObject<List<ThongTinBanHangTrongNgay>>(json); } } }
查看错误输出的方案
1. 利用Visual Studio调试输出窗口
- 确保已连接iPhone并启动调试会话。
- 打开输出窗口(通过菜单
视图 > 输出或快捷键Ctrl+W, O调出)。 - 在输出窗口的下拉列表中选择对应MAUI Blazor应用的进程,实时查看错误日志和调试信息。
2. 在应用中添加错误捕获逻辑
- 在
MainLayout.razor中使用ErrorBoundary捕获全局未处理异常:
<ErrorBoundary> @Body @if (context is not null) { <div class="alert alert-danger"> 错误:@context.Error.Message </div> } </ErrorBoundary>
- 或者在
OnRefreshClicked方法中添加try-catch块,直接输出错误到控制台:
private async Task OnRefreshClicked() { try { // 原有业务代码 } catch (Exception ex) { Console.WriteLine($"错误详情:{ex.Message}\n堆栈跟踪:{ex.StackTrace}"); StateHasChanged(); } }
3. 使用Safari开发者工具调试
- 在iPhone上进入
设置 > Safari浏览器 > 高级,开启Web检查器。 - 在Mac上打开Safari,进入
开发菜单(若未显示,需在Safari偏好设置的高级中勾选在菜单栏中显示开发菜单),找到你的iPhone设备,选择对应的MAUI Blazor应用页面。 - 通过Safari开发者工具查看控制台错误、网络请求详情等信息。
4. 排查设备连接问题
- 确保iPhone已信任连接的Windows电脑(iPhone弹出信任提示时选择信任)。
- 确认Visual Studio已安装最新的MAUI和iOS调试组件,且iPhone的iOS版本与组件兼容。
- 尝试重启iPhone和Visual Studio,重新建立USB连接。
内容的提问来源于stack exchange,提问作者Nguyen Tom
相关产品推荐
相关产品推荐

