Add backtrace call stack for debugging
This commit is contained in:
parent
d5b2c8fe8b
commit
db29a6228e
@ -160,3 +160,26 @@ int capwap_check_memory_leak(int verbose) {
|
||||
|
||||
return ((g_memoryblocks != NULL) ? 1 : 0);
|
||||
}
|
||||
|
||||
/* Backtrace call stack */
|
||||
void capwap_backtrace_callstack(void) {
|
||||
int i;
|
||||
int count;
|
||||
char** functions;
|
||||
void* buffer[BACKTRACE_BUFFER];
|
||||
|
||||
/* */
|
||||
count = backtrace(buffer, BACKTRACE_BUFFER);
|
||||
if (count) {
|
||||
functions = backtrace_symbols(buffer, count);
|
||||
if (functions) {
|
||||
|
||||
/* Skipping capwap_backtrace_callstack function print out */
|
||||
for (i = 1; i < count; i++) {
|
||||
capwap_logging_debug("\t%s", functions[i]);
|
||||
}
|
||||
|
||||
free(functions);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -19,6 +19,8 @@ void capwap_free_debug(void* p, const char* file, const int line);
|
||||
int capwap_check_memory_leak(int verbose);
|
||||
void capwap_dump_memory(void);
|
||||
|
||||
void capwap_backtrace_callstack(void);
|
||||
|
||||
#else
|
||||
|
||||
#define DEBUG_BREAKPOINT()
|
||||
@ -30,6 +32,7 @@ void capwap_dump_memory(void);
|
||||
#define capwap_free(x) free(x)
|
||||
#define capwap_check_memory_leak(x) (0)
|
||||
#define capwap_dump_memory() (0)
|
||||
#define capwap_backtrace_callstack() (0)
|
||||
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user