From f2402012e1755510519d037ab702a9cde467170c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nils=20O=2E=20Sel=C3=A5sdal?= Date: Wed, 31 Oct 2012 21:54:38 +0100 Subject: [PATCH] Don't show the uc_backtrace_fd function when generating a backtrace. --- src/ucore_backtrace.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/ucore_backtrace.c b/src/ucore_backtrace.c index 07c1e61..8e4b0f9 100644 --- a/src/ucore_backtrace.c +++ b/src/ucore_backtrace.c @@ -1,14 +1,23 @@ #include +#include #define MAX_BACKTRACE_SYMBOLS 96 void uc_backtrace_fd(int fd) { void *buffer[MAX_BACKTRACE_SYMBOLS]; + void **syms; int ptrs; ptrs = backtrace(buffer, MAX_BACKTRACE_SYMBOLS); - backtrace_symbols_fd(buffer, ptrs, fd); + if(ptrs > 0) { //dont print out this function + ptrs--; + syms = &buffer[1]; + } else { + syms = &buffer[0]; + } + + backtrace_symbols_fd(syms, ptrs, fd); }