diff --git a/ctracer-testpp.cpp b/ctracer-testpp.cpp new file mode 100644 index 0000000..6ec976b --- /dev/null +++ b/ctracer-testpp.cpp @@ -0,0 +1,46 @@ +/* + + ctracer.h demonstarion and testing + +- Test as user application: + +make -B ctracer-testpp && ./ctracer-testpp + + */ + + +#include "ctracer.h" +#include + +int sub(void) +{ _entry:; + return 0; +} + +int main(void) +{ _entry:; + int i; + for (i=0; i < 10; i++) + sub(); + trl(); + trvp(i); + trvx(i); + trvd(i); + trvd(sizeof(long long)); + trvd(sizeof(size_t)); + trvd(sizeof(void*)); + trvd(sizeof(int)); + trvd(sizeof(short)); + trvd(sizeof(char)); + if (0) + tracef("Should not be printed\n"); + else + tracef("Should be printed\n"); + if (1) + tracef("Should be printed\n"); + else + tracef("Should not be printed\n"); + + freeram(); + return 0; +} diff --git a/ctracer.h b/ctracer.h index 6115316..26a15b5 100644 --- a/ctracer.h +++ b/ctracer.h @@ -289,7 +289,7 @@ static inline int empty_function(void) #if 1 /* omit full absolute path for modules */ #ifdef __GNUG__ -//#include +#include #else extern char *strrchr(const char *s, int c); #endif @@ -325,7 +325,7 @@ static void *malloc_trace; #ifndef trace_time_defined #define trace_time_defined -void trace_time(); +void trace_time(void); /* extern double time_prev_f; void static inline trace_time() @@ -449,7 +449,7 @@ int lookup_symbol_name(unsigned long addr, char *symbol) { char _caller[_CTRACRE_BUF_LEN]; \ lookup_symbol_name((unsigned long)__builtin_return_address(0), _caller); \ if (_trace_enter_num < 100) { \ - _ret_msg = malloc(_CTRACRE_BUF_LEN); \ + _ret_msg = (char*)malloc(_CTRACRE_BUF_LEN); \ if (_ret_msg) snprintf(_ret_msg, _CTRACRE_BUF_LEN, "%s < %s }", _caller, __func__); \ tracef("%s > %s { @ %s:%d #%d" EOL, _caller, __func__, __file__, __LINE__, _trace_enter_num); \ } }