Is it possible?
I have found solution for Visual Studio Print n levels of callstack?
Is it possible?
I have found solution for Visual Studio Print n levels of callstack?
To print a backtrace at runtime programmatically, you can use this function:
#import <execinfo.h>
void PrintBacktrace ( void )
{
void *callstack[128];
int frameCount = backtrace(callstack, 128);
char **frameStrings = backtrace_symbols(callstack, frameCount);
if ( frameStrings != NULL ) {
// Start with frame 1 because frame 0 is PrintBacktrace()
for ( int i = 1; i < frameCount; i++ ) {
printf("%s\n", frameStrings[i]);
}
free(frameStrings);
}
}
Use bt
(or backtrace
command in gdb console). Here's more info on command usage.
To print a number of top levels of call stacks you can use bt n