Vertexwahn Vertexwahn - 7 days ago 5
C++ Question

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

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):

enter image description here

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.

xan xan
Answer

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

Step Into Specific

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.

Comments