ReSharper 2026.1 Help

问题检测

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

检测到的问题会显示在 检测到的问题 部分的 监测 工具窗口中,您可以在此查看、跳转到相关代码,或使用集成的性能分析器分析导致问题的方法。

Windows 操作系统上的监控工具窗口

dotUltimate 许可要求

  • 所有用户都可使用问题检测功能。 但在 dotTrace 中进行详细的问题分析需要 dotUltimate 或 All Products Pack 许可

  • 没有许可时,问题只会显示问题类型和度量值(不包含方法和类型名称)。

    监测. 检测到的问题

问题类型和默认阈值

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

基本性能问题

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

  • UI 冻结—— 一个时间区间,在此期间,UI 超过指定阈值变得无响应(没有窗口消息被分发或处理)。 默认阈值:500 毫秒。

  • 高垃圾回收活动—— 一个时间区间,在此期间,垃圾回收耗费了指定百分比的总执行时间。 大量垃圾回收活动可能表示内存压力或应用程序中过多的内存分配。 默认阈值:20%。

数据库问题

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

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

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

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

了解如何修复数据库问题

ASP.NET Core 问题

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

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

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

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

分析检测到的问题

监测 工具让您可以更详细地分析检测到的问题。 您可以右键点击任何问题以:

  • 分析问题—— 在编辑器中查看问题详情。

    监测. 问题详情
  • 选择问题范围—— 在监控时间线上选择问题的时间范围。 选择范围后,点击 分析区间分析所选时间范围 按钮,该按钮位于 图表 标签顶部。 这将在 dotTrace 工具窗口中打开问题时间范围,您可以在其中查看调用树和事件数据。

  • 导航到 {method-name}—— 前往导致该问题的方法。

配置问题检测

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

  1. 打开 ReSharper | 选项 | 监控 | 问题检测

  2. 使用复选框启用或禁用单独的问题类型。

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

静默问题

如果 监测 检测到您认为不是实际问题的问题,例如误报、您无法控制的代码或不值得调查的小问题,您可以将其静默。 当您将问题静默时, 监测 会添加一个过滤器,告知其在将来的分析中排除相应代码。

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

  • 要从 检测到的问题 列表中将问题静默:

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

    2. 选择 忽略问题。 这会按方法名创建一个过滤器。

    3. 您可以在 代码分析的排除范围 部分的 ReSharper | 选项 | 监控 | 过滤 页面中查看或更改已创建的过滤器。

  • 要手动创建或管理过滤器:

    1. 打开 ReSharper | 选项 | 监控 | 过滤

    2. 代码分析的排除范围 部分,按进程、模块、类或方法添加或删除过滤器。 您还可以删除已存在的过滤器,以“取消静默”先前静默的问题。

2026年 3月 25日