OrcDebug

OrcDebug — Printing and formatting debug information

Functions

void (*OrcDebugPrintFunc) ()
#define ORC_DEBUG_PRINT()
#define ORC_ERROR()
#define ORC_WARNING()
#define ORC_INFO()
#define ORC_DEBUG()
#define ORC_LOG()

Types and Values

Description

Functions

OrcDebugPrintFunc ()

void
(*OrcDebugPrintFunc) (int level,
                      const char *file,
                      const char *func,
                      int line,
                      const char *format,
                      va_list varargs);

Typedef describing functions that can be registered using orc_debug_set_print_function() so that it is called to print debugging messages.

Parameters

level

the debug level

 

file

name of the file where the debug message occurs

 

func

name of the function where the debug message occurs

 

line

line in the file where the debug message occurs

 

format

a printf format

 

varargs

varargs for the printf format

 

ORC_DEBUG_PRINT()

#define             ORC_DEBUG_PRINT(level, ...)

Macro to call orc_debug_print() with the correct values for the name of the source file, line of source file, and function.

Parameters

level

debug level of message

 

Varargs

printf-style format and arguments

 

ORC_ERROR()

#define ORC_ERROR(...) ORC_DEBUG_PRINT(ORC_DEBUG_ERROR, __VA_ARGS__)

Macro to call ORC_DEBUG_PRINT() with a level of ORC_DEBUG_ERROR.

Parameters

...

printf-style format and arguments

 

ORC_WARNING()

#define ORC_WARNING(...) ORC_DEBUG_PRINT(ORC_DEBUG_WARNING, __VA_ARGS__)

Macro to call ORC_DEBUG_PRINT() with a level of ORC_DEBUG_WARNING.

Parameters

...

printf-style format and arguments

 

ORC_INFO()

#define ORC_INFO(...) ORC_DEBUG_PRINT(ORC_DEBUG_INFO, __VA_ARGS__)

Macro to call ORC_DEBUG_PRINT() with a level of ORC_DEBUG_INFO.

Parameters

...

printf-style format and arguments

 

ORC_DEBUG()

#define ORC_DEBUG(...) ORC_DEBUG_PRINT(ORC_DEBUG_DEBUG, __VA_ARGS__)

Macro to call ORC_DEBUG_PRINT() with a level of ORC_DEBUG_DEBUG.

Parameters

...

printf-style format and arguments

 

ORC_LOG()

#define ORC_LOG(...) ORC_DEBUG_PRINT(ORC_DEBUG_LOG, __VA_ARGS__)

Macro to call ORC_DEBUG_PRINT() with a level of ORC_DEBUG_LOG.

Parameters

...

printf-style format and arguments

 

Types and Values

enum OrcDebugLevel

Enumeration describing debug levels in Orc.

Members

ORC_DEBUG_NONE

No debugging. Used to disable debugging output.

 

ORC_DEBUG_ERROR

The level for messages indicating that an error has occurred that causes Orc to produce incorrect results. Also used temporarily by developers for testing code.

 

ORC_DEBUG_WARNING

Messages at this level indicate something has occurred that a developer looking into an application problem may want to know.

 

ORC_DEBUG_INFO

Messages at this level provide high-level information about Orc internals.

 

ORC_DEBUG_DEBUG

The default level for logging messages.

 

ORC_DEBUG_LOG

The level for messages that probably don't need to be logged at all.

 

ORC_FUNCTION

#define ORC_FUNCTION __PRETTY_FUNCTION__

Internal macro that points to __PRETTY_FUNCTION__ or __func__ if the former is not available.