0

抱歉,如果这是重复的话;我很难弄清楚要搜索什么,所以在 Google 或 SO 上都没有找到任何关于此的内容。

当我在 MSVS 或 Xcode 中调试 C++ 时,我经常发现自己处于以下情况:

int main()
{
    foo(bar()); // << Debugger is here
}

void foo(int param)
{
  printf("%d", param); // I want to step to here
}

int bar()
{
  return 1; // But "Step Into" takes me here
}

本质上,每当我使用其他函数填充参数时,在进入我真正感兴趣的函数之前,我都会先进入这些参数函数中的每一个。

这没什么大不了的,但是当您有四个或五个参数时,单击步入、步出会变得相当乏味。我显然可以在下一个函数的开头设置一个断点,但这可能很棘手,特别是如果我使用调试器来跟踪其他人的代码。

有没有办法跳过进入参数函数而直接进入程序流程中的下一个函数?如果没有,有人可以解释为什么调试器的机制会阻止它吗?

谢谢

4

1 回答 1

0

C# 中有 DebuggerStepThrough 属性,但可能仅在托管 c++ 中。

您在 Visual Studio 中可能做的最好的事情就是右键单击“进入特定步骤”。

于 2011-08-11T12:54:21.853 回答