Skip STL Code when debugging C++ Code in Visual Studio 2012?

c++, stl, visual-studio-2012, visual-studio-debugging

Solution

There's `Step Into Specific` available on the right-click menu:

Though for a single argument, I'll more often do `Step Into` + `Step Out` + `Step Into` from the keyboard instead of navigating the menus for `Step Into Specific`.

An unofficial registry key for always stepping over certain code is described in an MSDN blog post, How to Not Step Into Functions using the Visual C++ Debugger.

Problem

Is it possible to skip STL Code when using the C++ debugger (native, x64) in Visual Studio 2012? Quite often when debugging C++ code I step into STL code. I expect that the STL code provided by Microsoft is correct - I am not interested in debugging it - I am only interested in debugging my own (self-written) code. For instacne when setting a break point at this function: ``` foo(std::make_shared<int>(6)); ``` where foo is defined as: ``` void foo(std::shared_ptr<int> x) { // do something } ``` I do not want to dive into the details of std::make_shared - what I want is to step directly into the function foo. But this seems not to be possible. If the breakpoint at `foo(std::make_shared<int>(6));` is reached and I press the 'Step Into' button (or F11) it first steps into the 'memory' header file (STL): So again I have to press the 'Step Out' button than again the 'Step Into' button to get into the `foo` function. What I want is to skip the STL related parameter initialization or a possibility to jump directly into the function.

Original source