ReSharper 2025.2 Help

C++ 调试辅助

使用 ReSharper,您可以在编辑器中改善调试体验。

内联值

当您在调试 C#、VB.NET 或 C++ 代码时暂停执行,您可以在编辑器中直接在相应的代码行旁边看到局部变量、当前行表达式和函数返回值。

此功能在调试会话期间提供即时反馈,这意味着您通常甚至不需要查看 监视自动 工具窗口。

内联值默认启用,但您可以通过 ReSharper 选项 工具 | 调试器 Alt+R, O 配置要显示的值类型。

ReSharper:内联值

ReSharper 谨慎地仅评估不会产生副作用的表达式。 目前,表达式评估仅限于引用、常量、成员访问和内置下标运算符。 std::vectorstd::array 的下标运算符也作为例外进行评估。

请注意,ReSharper 使用 Visual Studio 调试器引擎计算内联值以评估表达式,这意味着带有用户提供的可视化规则的 Natvis 文件会自动支持。

可搜索的 DataTips

ReSharper 可以选择用其自己的 DataTips 替换 Visual Studio DataTips ,这些 DataTips 具有以下几个区别:

  • 您可以在当前暂停执行的上下文中搜索特定值。 为此,只需在 DataTip 中获得焦点时开始输入。 请注意,搜索仅会找到已展开节点中的值。

  • DataTip 不会在您移开鼠标指针时消失,而是在您单击 DataTip 外的任意位置时消失。

  • 您可以标记类的成员,这些成员将用于为该类的对象构造自定义表示字符串。 为此,请在 DataTip 中展开类型,右键单击所需的数据成员并选择 高亮显示属性

    ReSharper DataTips:显示调试对象的值

要使用 ReSharper DataTips 替代 Visual Studio DataTips,请在 ReSharper 选项 工具 | 调试器 Alt+R, O 上启用相应选项。

步骤过滤器

为什么需要步进过滤器? 嗯,下面的示例几乎解释了一切:

ReSharper:为什么需要步进过滤器?

某些函数从不需要步入,因为它们要么非常简单,要么经过了充分测试。 但问题在于,调试器无法判断哪些函数值得调试,哪些不值得,因此 步入 不会遗漏任何函数。

使用 ReSharper,您可以维护步进过滤器——一个函数掩码列表,用于告诉调试器在步进时应跳过哪些内容。 默认情况下,此列表包含许多库函数,您也可以使用自己的函数掩码进行扩展。

自定义步骤过滤器以及对默认过滤器的任何修改都使用 分层设置机制保存,这意味着保存在 解决方案团队共享设置层中的步骤过滤器修改可以与您的团队成员共享。

您可以在 ReSharper 选项 的 工具 | 调试 | C++ 页面上研究和配置步骤过滤器 Alt+R, O

在调试时,您可以快速将函数添加到过滤器中:按下 Alt+Enter ,该函数将被添加到过滤器中:

ReSharper:从编辑器中为函数添加步进过滤器。

默认情况下,此操作使用 智能保存逻辑保存过滤器,但您也可以使用该操作的子菜单选择过滤器应保存的设置层。

您可能记得,Visual Studio 内置了一种自定义 C++ 中步进行为的方法,这是 C++ Just My Code 的一部分。 然而,IDE 并未提供配置此功能的用户界面,因此您需要手动编辑 .natstepfilter XML 配置文件以更改现有规则或添加新规则。 此外,由于配置文件是全局的,因此无法添加特定于解决方案的规则。 请注意,目前如果安装了 ReSharper C++,Visual Studio 对 .natstepfilter 文件的支持将被禁用。

最后修改日期: 2025年 9月 27日