variable_trace.h 831 B

12345678910111213141516171819202122232425
  1. #ifndef VARIABLE_TRACE_H
  2. #define VARIABLE_TRACE_H
  3. #include "print.h"
  4. #ifdef NUM_TRACED_VARIABLES
  5. #define ADD_TRACED_VARIABLE(name, addr, size) \
  6. add_traced_variable(PSTR(name), (void*)addr, size, PSTR(__FILE__), __LINE__)
  7. #define REMOVE_TRACED_VARIABLE(name) remove_traced_variable(PSTR(name), PSTR(__FILE__), __LINE__)
  8. #define VERIFY_TRACED_VARIABLES() verify_traced_variables(PSTR(__FILE__), __LINE__)
  9. #else
  10. #define ADD_TRACED_VARIABLE(name, addr, size)
  11. #define REMOVE_TRACED_VARIABLE(name)
  12. #define VERIFY_TRACED_VARIABLES()
  13. #endif
  14. // Don't call directly, use the macros instead
  15. void add_traced_variable(const char* name, void* addr, unsigned size, const char* func, int line);
  16. void remove_traced_variable(const char* name, const char* func, int line);
  17. void verify_traced_variables(const char* func, int line);
  18. #endif