ReSharper
 
Get ReSharper
Get your hands on the new features ahead of the release by joining the Early Access Program for ReSharper 2025.1! Learn more

C++

Last modified: 11 February 2024
ReSharper options: Tools | Debugger | C++

Use this page to configure step filters in C++.

Why do you need step filters? Well, the illustration below explains pretty much everything:

ReSharper: Why do you need step filters?

Some functions never need to be stepped into because they are either very simple or very well tested. But the problem is that the debugger cannot tell which functions are worth debugging and which are not, and therefore Step Into will not miss any function on its way.

With ReSharper, you can maintain step filters — a list of function masks that tells the debugger what should be skipped on stepping. By default, this list includes a lot of library functions and it can be extended with your own function masks.

While debugging, you can quickly add a function to the filters: press AltEnter on that function, and it will be added to the filters:

ReSharper: Adding a step filter for a function from the editor.

By default, this action saves the filter using the smart save logic, but you can also use the action's submenu to choose the settings layer where the filter should be saved.

You might remember that Visual Studio has a built-in way to customize stepping behavior in C++, which is a part of C++ Just My Code. However, no user interface is provided for configuring this feature from the IDE, so you need to manually edit .natstepfilter XML configuration files to change existing or add new rules. Furthermore, there is no way to add solution-specific rules, since the configuration files are global. Note that at the moment Visual Studio’s support for .natstepfilter files gets disabled if ReSharper C++ is installed.