JetBrains Rider 2025.3 Help

问题检测

在 Windows 上, 监测 工具可以自动检测应用程序中各种类型的运行时性能问题。 它在调试或正常运行期间执行,并识别潜在问题,例如 UI 假死、长时间运行的数据库命令或缓慢的 ASP.NET Core 请求。

检测到的问题会显示在 检测到的问题监测 工具窗口中,您可以在此查看它们,导航到相关代码,或使用集成的 dotTrace Profiler 分析引发问题的方法。

监测. 检测到的问题

dotUltimate 许可证要求

  • 问题检测对所有用户开放。 但在 dotTrace 中进行详细问题分析需要 dotUltimate 或 All Products Pack 许可证

  • 没有许可证时,问题报告只包含问题类型和指标值(不包含方法和类型名称)。

    监测. 检测到的问题

问题类型和默认阈值

监控会检测多种问题类型。 每种问题类型都有一个可配置的阈值。 当其指标超出阈值时,问题会在 监测 工具窗口中报告。 您可以在 设置 | 构建、执行、部署 | 监控 | 问题检测 中自定义这些阈值。

基础性能问题

  • 性能热点 — 一个时间区间,其中一个或多个用户方法消耗了总执行时间的显著部分。 默认阈值:500 毫秒。

  • UI 冻结 — UI 响应超过指定阈值的区间(期间未传递或处理任何窗口消息)。 默认阈值:500 毫秒。

  • 高垃圾回收活动 — 指定百分比的总执行时间用于垃圾回收的时间区间。 频繁的 GC 活动可能表示应用程序存在内存压力或过度内存分配。 默认阈值:20%。

数据库问题

  • 数据库命令缓慢 — 执行时间超过阈值的数据库命令。 默认阈值:1000 毫秒。

  • 数据库命令过多 — 重复执行相同数据库命令(例如,N+1 查询模式)。 默认阈值为 100 条命令。

  • 数据库结果集过大 — 返回记录数量超过阈值的数据库命令。 默认阈值为 1000 条记录。

  • 数据库连接过多 — 打开过多并发数据库连接的代码。 默认阈值为 50 个连接。

了解如何修复数据库问题

ASP.NET Core 问题

  • MVC 操作缓慢 — 执行时间超过阈值的控制器操作。 默认阈值:1000 毫秒。

  • Razor 页面处理程序缓慢 — 执行时间较长的 Razor 页面处理方法(例如, OnGetOnPost)。 默认阈值:1000 毫秒。

  • Razor 视图组件缓慢 — 视图组件中的 Invoke()InvokeAsync() 方法运行缓慢。 默认阈值:1000 毫秒。

了解如何修复 ASP.NET Core 问题

分析检测到的问题

监测 工具可让您更详细地分析检测到的问题。 您可以右键点击任意问题以执行以下操作:

  • 分析问题 — 在编辑器中查看问题详细信息。

    监测. 问题详细信息
  • 选择问题范围 — 在监控时间线上选择问题的时间范围。 选择区间后,点击 分析区间分析所选时间范围 按钮,位于 图表 选项卡顶部。 此操作会在 dotTrace 工具窗口中打开问题的时间范围,您可以在此查看调用树和事件数据。 了解如何使用 dotTrace 分析数据

  • 导航到 {method-name} — 跳转到引发问题的方法。

配置问题检测

监测 在事件的指标超过配置阈值时将其视为问题。 您可以更改阈值或禁用某些问题类型。

  1. 打开 设置 | 构建、执行、部署 | 监控 | 问题检测

  2. 使用复选框启用或禁用各个问题类型。

  3. 根据项目的性能目标调整阈值。

静音问题

如果 监测 检测到的一个问题并非真正的问题,例如误报、不受您控制的代码,或过于轻微而不值得调查的情况,您可以将其静音。 当您将某个问题设为静音时, 监测 会添加一个筛选器,用于在后续运行中将其对应的代码排除在分析之外。

您可以在设置中手动创建此类筛选器,或直接通过 检测到的问题 列表创建。

  • 要从 检测到的问题 列表中将某个问题设为静音:

    1. 检测到的问题 列表中右键点击该问题。

    2. 请选择 忽略问题。 这将根据方法名称创建一个筛选器。

    3. 您可以在 代码分析的排除范围 部分的 设置 | 构建、执行、部署 | 监控 | 筛选 页面中查看或更改已创建的筛选器。

  • 要手动创建或管理筛选器:

    1. 打开 设置 | 构建、执行、部署 | 监控 | 筛选

    2. 代码分析的排除范围 部分,按进程、模块、类或方法添加或移除筛选器。 您也可以删除已有的筛选器,从而“取消静音”之前设为静音的问题。

最后修改日期: 2025年 12月 5日