【发布时间】:2013-12-19 14:03:00
【问题描述】:
在 Visual Studio 2012 中使用 C++ 调试器(本机,x64)时是否可以跳过 STL 代码?在调试 C++ 代码时,我经常会进入 STL 代码。我希望微软提供的 STL 代码是正确的——我对调试它不感兴趣——我只对调试我自己的(自己编写的)代码感兴趣。
在此函数处设置断点时的instacne:
foo(std::make_shared<int>(6));
其中 foo 定义为:
void foo(std::shared_ptr<int> x)
{
// do something
}
我不想深入研究 std::make_shared 的细节——我想要的是直接进入函数 foo。但这似乎是不可能的。如果到达foo(std::make_shared<int>(6)); 的断点并且我按下“Step Into”按钮(或 F11),它首先会进入“memory”头文件 (STL):
所以我必须再次按下“退出”按钮而不是再次按下“进入”按钮才能进入foo 功能。我想要的是跳过 STL 相关的参数初始化或直接跳转到函数中的可能性。
【问题讨论】:
-
附注:假设STL is correct is a bad assumption。更直接的一点是,
shift+F11应该退出,您可以简单地退出 STL 函数,然后进入,直到到达您需要的位置,或者您可以在函数内设置断点。
标签: c++ visual-studio-2012 stl visual-studio-debugging