From 37f43e6004b979a48aa99609264d12511023a956 Mon Sep 17 00:00:00 2001 From: Mike Buland Date: Mon, 24 Mar 2008 21:17:48 +0000 Subject: Removed the backtrace stuff, it had some bugs, and shouldn't be here all the time anyway. Recompile everything. --- src/exceptionbase.cpp | 68 --------------------------------------------------- 1 file changed, 68 deletions(-) (limited to 'src/exceptionbase.cpp') diff --git a/src/exceptionbase.cpp b/src/exceptionbase.cpp index 6e5ae10..6d019af 100644 --- a/src/exceptionbase.cpp +++ b/src/exceptionbase.cpp @@ -11,70 +11,42 @@ Bu::ExceptionBase::ExceptionBase( const char *lpFormat, ... ) throw() : nErrorCode( 0 ), sWhat( NULL ) -#ifdef LIBBU_EXCEPTION_BACKTRACE - , sBT( NULL ) -#endif { va_list ap; va_start(ap, lpFormat); setWhat( lpFormat, ap ); va_end(ap); -#ifdef LIBBU_EXCEPTION_BACKTRACE - createBacktrace(); -#endif } Bu::ExceptionBase::ExceptionBase( int nCode, const char *lpFormat, ... ) throw() : nErrorCode( nCode ), sWhat( NULL ) -#ifdef LIBBU_EXCEPTION_BACKTRACE - , sBT( NULL ) -#endif { va_list ap; va_start(ap, lpFormat); setWhat( lpFormat, ap ); va_end(ap); -#ifdef LIBBU_EXCEPTION_BACKTRACE - createBacktrace(); -#endif } Bu::ExceptionBase::ExceptionBase( int nCode ) throw() : nErrorCode( nCode ), sWhat( NULL ) -#ifdef LIBBU_EXCEPTION_BACKTRACE - , sBT( NULL ) -#endif { -#ifdef LIBBU_EXCEPTION_BACKTRACE - createBacktrace(); -#endif } Bu::ExceptionBase::ExceptionBase( const ExceptionBase &e ) throw () : nErrorCode( e.nErrorCode ), sWhat( NULL ) -#ifdef LIBBU_EXCEPTION_BACKTRACE - , sBT( NULL ) -#endif { setWhat( e.sWhat ); -#ifdef LIBBU_EXCEPTION_BACKTRACE - createBacktrace(); -#endif } Bu::ExceptionBase::~ExceptionBase() throw() { delete[] sWhat; sWhat = NULL; -#ifdef LIBBU_EXCEPTION_BACKTRACE - delete[] sBT; - sBT = NULL; -#endif } void Bu::ExceptionBase::setWhat( const char *lpFormat, va_list &vargs ) @@ -107,43 +79,3 @@ int Bu::ExceptionBase::getErrorCode() return nErrorCode; } -#ifdef LIBBU_EXCEPTION_BACKTRACE -const char *Bu::ExceptionBase::getBacktrace() const throw() -{ - return sBT; -} - -#include "bu/fstring.h" -#include - -void Bu::ExceptionBase::createBacktrace() -{ - void *array[1000]; - size_t size; - char **strings; - size_t i; - - size = backtrace (array, 1000); - strings = backtrace_symbols (array, size); - - Bu::FString s; - s.format("Obtained %zd stack frames.\n", size ); - - for (i = 0; i < size; i++) - { - s += strings[i]; - s += "\n"; - } - - free (strings); - - sBT = new char[s.getSize()+1]; - strcpy( sBT, s.getStr() ); -} - -#else -const char *Bu::ExceptionBase::getBacktrace() const throw() -{ - return "Backtrace support is not compiled in.\n"; -} -#endif -- cgit v1.2.3