使用标志-O0 -g3(没有优化并分别请求其他调试信息)使用g ++编译以下代码
#include <bits/stdc++.h>
using namespace std;
void foo(unordered_set<int> b)
{
if (b.size()>0)
cout<<*b.begin()<<endl;
}
int main(void)
{
unordered_set<int> c={1};
foo(c);
}
我使用Eclipse IDE for C / C ++,Oxygen.1a Release。单步执行 当我尝试单步进入foo()时,调试器开始显示C ++标准库unordered_set复制构造函数代码的许多行。如果我退出复制构造函数代码,这会导致foo()也被逐步执行。 我可以在foo中设置一个断点,或者在foo中运行一行,但这很不方便。是否有更简单的方法可以避免单步执行复制构造函数代码并直接进入foo()?