使用实时监控器排除模型驱动应用程序行为的故障
实时监控器是一个可以帮助应用程序制作者调试和诊断问题的工具,这有助于他们构建更快、更可靠的应用程序。 实时监控器通过提供应用程序运行时的所有活动日志,深入查看应用程序的运行情况。
为了帮助您隔离某些模型驱动应用功能,您可以筛选特定类别,如窗体或 Copilot 控件。
创建实时监控器会话
登录到 Power Apps,在左侧导航窗格中选择解决方案,打开包含您要监控的应用的解决方案,选择该应用,然后在命令栏中选择实时监控。
在实时监控器页面上,选择命令栏上的播放模型驱动应用程序。 有关创建实时监控器会话的更多信息,请访问使用实时监控器对模型驱动应用程序中的页面行为进行故障排除。
针对窗体相关问题筛选实时监控器
在实时监控器中筛选模型驱动应用窗体相关事件,可以在您的应用运行时提供有关实时监控器中窗体上的相关表、表、控件和组件的信息。
在很多情况下,实时监控器可以帮助制作者了解窗体为何会以某种方式工作。 许多窗体问题都是基于业务规则、JavaScript、窗体事件或管理员和制作者设置的客户端 API。 实时监控器还可以帮助确定所遇到的问题是原有的设计还是由于自定义。 它提供有助于回答以下问题的详细信息:
- 为什么表的相关菜单中没有显示行?
- 控件为何禁用/启用或可见/隐藏
- 为什么行处于只读状态?
在运行实时监控器的浏览器窗口中,选择类别列,然后选择筛选依据。
从下拉列表中选择等于或包含,然后在框中输入
formchecker
。 选择应用。现在类别已经过筛选。 通过选择并按住列右侧并向右拖动可以展开操作列来查看所跟踪事件的完整名称。 使用应用并打开和使用窗体时,实时监控器将更新事件的列表。
当应用程序在受监控的会话中运行时,在模型驱动应用中执行与应用程序的正常使用一致的操作。 例如,使用表窗体打开和更改数据。
使用实时监控器了解窗体行为
对于带有实时监控器的每一行,可以查看有关窗体事件的详细信息。 例如,假设您对窗体中发生的错误有疑问。 您在应用中转到该窗体,然后选择相应的窗体组件。 然后返回到启用了实时监控器的浏览器,查看进行筛选或未进行筛选的结果。 在这种情况下,复合控件上有一个错误。 通过展开详细信息的区域,您可以了解有关事件本身的详细信息。
有很多类型的事件会被监视,包括标准窗体事件,如 onload
、onsave
和 onclose
。
当您继续使用正在监视的应用时,实时监控器会更新事件列表中的信息。 对于窗体,您可以对很多不同的场景进行故障排除,找到有关当前正在处理的窗体、控件或表的其他信息。
窗体检查区域和事件
表单监控包括以下几个方面。
应用区域 | Description |
---|---|
控件状态 | 有关加载窗体时控件的可见、已启用和标签源状态。 |
相关菜单 | 有关相关菜单项状态的详细信息。 示例: 为什么未在显示某个菜单项? 菜单项来自何处? |
选项卡/节/控件状态更改 | 关于谁(通过调用堆栈)导致窗体组件(如选项卡、节段或控件)更改组件的可见性和启用状态的详细信息。 |
导航 | 通过跟踪这些 Xrm.Navigation 客户端 API 方法的调用堆栈,详细了解导致导航或意外对话的原因:openAlertDialog(), openConfirmDialog(), openDialog(), openErrorDialog(), navigateTo(), openForm(), openTaskFlow(), openUrl(), openWebResource() |
不支持的自定义设置 | 有关窗体准备就绪之前不受支持的客户端 API 访问的详细信息。 示例: 在窗体完全加载之前访问 iFrame 中的 parent.Xrm.Page 。 使用 window.setTimeout() 访问窗体处理程序上下文之外的窗体 Web 资源中的 Xrm.Page 来定期调用窗体客户端 API。 在 Power Apps control framework 控制代码的 updateView() 方法中访问 Xrm.Page 。 |
实时监控器中与支持的窗体有关的事件的示例包括:
- FormEvents.onsave
- XrmNavigation
- FormEvents.onload
- FormControls
- TabStateChange.visible
- RelatedMenu
- ControlStateChange.disabled
- ControlStateChange.visible
- SectionStateChange.visible
- UnsupportedClientApi
Copilot 控件相关问题的过滤器实时监控器
- 在运行实时监控器的浏览器窗口中,选择类别列,然后选择筛选依据。
- 从下拉列表中选择等于或包含,然后在框中输入
CopilotEvent
。 选择应用。
Copilot 控件事件
Copilot 控制监视的事件包括以下内容。
事件名称 | Description |
---|---|
AdaptiveCardActionData | 发送到自适应卡片提交操作的数据 |
adaptiveCardContent | 适配卡的内容 |
AISummarize | 如果总结功能关闭,则会记录此消息,并记录 fcb 状态 |
AutoTriggerSummarizeHandler.isAutoTriggeredSummaryEnabled | 告知是否启用了自动触发 |
ClientActionCalled | 记录客户端操作的名称和传递给它的负载 |
CopilotResponse | 助手的回应 |
DVCopilotAction | isDVChatEnabled:组织是否启用 dv 聊天 |
DynamicContextSentToBot | 动态上下文已发送到机器人 |
EnvironmentHostedBotSchemaName | 记录环境机器人模式名称 |
ExecutingAction | 自适应卡片操作正在执行 |
isSummaryEnabledForEntity | 告知是否为实体启用了汇总功能 |
queryStructuredDataRequest | 向查询结构数据发送请求 |
queryStructuredDataResponse | 查询结构数据的响应 |
SessionContextSentToBot | 会话上下文已发送到机器人 |
SummarizeResponse | 记录对汇总的回复 |
UserPrompt | 用户输入的提示 |
关闭监控会话
要关闭监控会话,请关闭正在播放被监控的模型驱动应用程序的浏览器选项卡。
后续步骤
有关如何解决模型驱动应用中的窗体问题的详细信息,请参阅解决模型驱动应用中的窗体问题。