在 VS watch 或立即调用 C++ 函数 window

Call C++ function inside VS watch or immediate window

问题很简单:有没有办法从 watch window 调用 C++ 函数 =]visual studio,当该函数在 File1.hpp 中声明时,在 File1.cpp 和 调试器中定义 当前已停止并在 AnotherFile.cpp?

中设置了一个断点

File1.hpp

int &getValue();

File1.cpp

int &getValue()
{
    static int value = 0;
    return value;
}

AnotherFile.cpp

int main()
{
    int x = 0; //Debugger is stopped here, and in watch window of VS i want to call getValue() of 
               //File1.hpp, to check the result
}

这个例子被简化了。 当我调用 getValue() 并且调试器在 File1.cpp 中停止时,该值正确显示在 Visual Studio 的 watch window 中。 当我调用 getValue() 并且调试器在 AnotherFile.cpp 中停止时。我得到 identifier getValue(void) is undefined

我建议您可以在 Debug->Windows->Immediate 中使用 Immediate

然后,当你调试int x=0时,你可以在Immediate Window中输入getValue()。你会看到控制台输出 value 0.