All of the debugging utilities only compile in when the
DEBUG macro is defined.
debug_break();
#ifdef STI_DEBUG_PATH_PREFIX
#define dbg(fmt, ...) fprintf(stderr, "%s:%d " fmt "\n", strstr(__FILE__, STI_DEBUG_PATH_PREFIX) + strlen(STI_DEBUG_PATH_PREFIX), __LINE__ __VA_OPT__(,) __VA_ARGS__);
#else
#define dbg(fmt, ...) fprintf(stderr, "%s:%d " fmt "\n", __FILE__, __LINE__ __VA_OPT__(,) __VA_ARGS__);
#endif
#define dbgv(a) sti_debug_print_var(__FILE__, __LINE__, __func__, #a, (void*)&a, STI_WATCH_TYPE_TO_ENUM(a));
void sti_debug_print_var(char* filename, long linenum, const char* funcname, char* name, void* var, int type);