我是否可以在VC++的调试模式下调用函数?假设我有一个函数,在其中设置了断点,当调试时执行到该点时,我是否可以调用其他函数并查看它们的结果,然后再继续执行下一行代码?
我相信你可以。我认为它被称为立即窗口。我使用的是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;
}
getNumberSquared()
100
。
遇到断点2后,重复同样的操作,输出结果将为16
。Visual Studio有跳转到特定语句的选项(右键单击+设置下一条语句
或ctrl+shift+F10
),但在执行此操作时要注意。函数调用需要寄存器有效,如果跨类或超出范围,则寄存器很可能无效。