Reputation: 171
I wonder can I call functions during the debug mode in VC++? Assume that I have a function to which I set a break point at, when the execution stops at that point during debugging, can I call other functions and see their results before proceeding to the next line of code?
Upvotes: 11
Views: 14181
Reputation: 1945
I believe you can. I think its called Immediate Window. I use VS2010 Ultimate, so I don't know if it exists in your version.
Ctrl + Alt + I
But this only prints output for when the function returns a value. Also, it may not work in some cases.
Let's say you have :
#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;
}
when you encounter breakpoint 1, press the shortcut and type:
getNumberSquared()
The output will be 100
After encountering breakpoint 2, do the same thing and the output will be 16
Upvotes: 7
Reputation: 258638
Visual studio has the option to jump to a specific statement (right click + set next statement
or ctrl+shift+F10
), but be aware when doing so. A function call requires registries to be valid, which will most likely not be if you jump across classes or out of scope.
Upvotes: 1