8

我想知道我可以在 VC++ 的调试模式下调用函数吗?假设我有一个设置断点的函数,当调试期间执行在该点停止时,我可以调用其他函数并在继续下一行代码之前查看它们的结果吗?

4

2 回答 2

5

我相信你可以。我认为它被称为即时窗口。我使用的是VS2010 Ultimate,所以我不知道它是否存在于您的版本中。

Ctrl+ Alt+I

但这仅在函数返回值时打印输出。此外,在某些情况下它可能不起作用。

假设您有:

#include <iostream>

int number = 10; //global
void setNumber(int n);

int main()
{
    std::cout<<std::endl; //breakpoint 1 here
    setNumber(4);
    std::cout<<std::endl; //breakpoint 2 here
}

int getNumberSquared()
{
    return number * number;
}

void setNumber(int n)
{
    number = n;
}

当你遇到断点 1 时,按下快捷键并输入:

getNumberSquared()

输出将是100 遇到断点2后,做同样的事情,输出将是16

于 2011-12-10T22:19:44.670 回答
1

Visual Studio 可以选择跳转到特定语句 (right click + set next statementctrl+shift+F10),但在执行此操作时请注意。函数调用要求注册表有效,如果您跳过类或超出范围,这很可能不是。

于 2011-12-09T20:18:19.880 回答