C++ 调试辅助
使用 ReSharper,您可以在编辑器中改善调试体验。
内联值
当您在调试 C#、VB.NET 或 C++ 代码时暂停执行,您可以在编辑器中直接在相应的代码行旁边看到局部变量、当前行表达式和函数返回值。
此功能在调试会话期间提供即时反馈,这意味着您通常甚至不需要查看 监视 或 自动 工具窗口。
内联值默认启用,但您可以通过 ReSharper 选项 的 页面配置应显示哪些类型的值 Alt+R, O 。

ReSharper 会小心地仅评估那些没有副作用的表达式。 目前,表达式评估仅限于引用、常量、成员访问和内置下标运算符。 std::vector 和 std::array 的下标运算符也作为例外进行评估。
请注意,ReSharper 使用 Visual Studio 调试器引擎评估表达式来计算内联值,这意味着 Natvis文件中用户提供的可视化规则会自动支持。
可搜索的 DataTips
ReSharper 可以选择用其自己的 DataTips 替换 Visual Studio DataTips ,这些 DataTips 有以下几个区别:
您可以在当前挂起执行的上下文中搜索特定值。 为此,只需在 DataTip 中聚焦时开始输入。 请注意,搜索仅会找到已展开节点中的值。
DataTip 不会在您移开鼠标指针时消失,而是在您点击 DataTip 外的任意位置时消失。
您可以标记类的成员,这些成员将用于为该类的对象构造自定义表示字符串。 为此,请在 DataTip 中展开类型,右键单击所需的数据成员并选择 高亮显示属性:

。
要使用 ReSharper DataTips 替代 Visual Studio DataTips,请在 ReSharper 选项 的 页面启用相应选项 Alt+R, O 。
步骤过滤器
为什么需要步骤过滤器? 嗯,下面的示例几乎解释了一切:

有些函数从不需要进入调试,因为它们要么非常简单,要么经过了充分测试。 但问题是调试器无法判断哪些函数值得调试,哪些不值得,因此 步入 不会遗漏任何函数。
使用 ReSharper,您可以维护步骤过滤器——一个函数掩码列表,告诉调试器在单步调试时应跳过哪些内容。 默认情况下,此列表包含许多库函数,您也可以使用自己的函数掩码扩展它。
自定义步骤过滤器以及对默认过滤器的任何修改都使用 分层设置机制保存,这意味着保存在 解决方案团队共享设置层中的步骤过滤器修改可以与您的团队成员共享。
您可以在 ReSharper 选项 的 页面上研究和配置步骤过滤器 Alt+R, O 。
在调试时,您可以快速将函数添加到过滤器:按下该函数上的 Alt+Enter ,它将被添加到过滤器中:

默认情况下,此操作使用 智能保存逻辑保存过滤器,但您也可以使用操作的子菜单选择保存过滤器的设置层。
您可能记得 Visual Studio 内置了一种自定义 C++ 单步行为的方法,这是 C++ Just My Code的一部分。 然而,IDE 中没有提供配置此功能的用户界面,因此您需要手动编辑 .natstepfilter XML 配置文件以更改现有规则或添加新规则。 此外,由于配置文件是全局的,因此无法添加特定于解决方案的规则。