Hi, when I debug using codeblocks, I want to view the return value of a function, for example:
#include "stdio.h"
int main(void)
{
//code
f();
return 0;
}
int f(void)
{
//code
return 1;
}
I want to view the return value of f() in the debug windows, ( do not add codes in f() or main(), such as printf ), is there any way to get it?
Best regards.
This is a simple test:
#include "stdio.h"
int f(int m,int n);
int main(void)
{
int i=2,j=3,k;
k=f(i,j);
printf("%d\n",k);
return 0;
}
int f(int m,int n)
{
return m+n;
}
I find that before enter f() in debug, then f(i,j) displays 5 in watch window, but f(m,n) displays "Not available in current context!". As picture 1 illustrates. After enter f() in debug, then f(i,j) displays "Not available in current context!", and f(m,n) displays 5. As picture 2 illustrates.
According to picture 1, it seems that f(i,j) has been calculated before the debug pointer (the little yellow triangle) enters f().
codeblocks does not support this by some ui
but you can use the gdb feature:
in the command line at the bottom of the debugger log type
finish hit enter and inspect the debug log. There should be a line with
Value returned is
Quote from: BlueHazzard on March 06, 2019, 08:17:46 PM
codeblocks does not support this by some ui
but you can use the gdb feature:
in the command line at the bottom of the debugger log type
finish hit enter and inspect the debug log. There should be a line with
Value returned is
Hi, BlueHazzard, thanks, when the debug pointer enters f(), type "finish" in the command line at debugger log, and hit enter, then the debug pointer goto main(), and "value returned is xxx" appears.
You probably can add a ticket on sf with a feature request for this...
But at the moment i have no idea how the ui could look like...
Some pop up at the return statement would be nice...
I am here because I search for the same feature in CB after that reading https://stackoverflow.com/questions/267674/how-to-inspect-the-return-value-of-a-function-in-gdb
This is a MUST feature for CB gui.
If I want to write 'finish' in GDB console then the complete 'Watches' panel is useless because I can watch them with GDB console (I do not know GDB commands).
Propose:
In 'Watches' panel, an entry with the return value of the function exactly after return of the function. It stay in 'Watches' panel exactly for one debugging step. On next step disappear.