Vuo  2.0.0
Macros | Functions

Description

Macros to help with debugging.

Macros

#define VL()
 Prints the name of the file and function to the system log and to stderr (and implicitly flushes the output buffer). More...
 
#define VLog(format, ...)
 Prints the name of the file and function, and printf()-style format/arguments, to the system log and to stderr (and implicitly flushes the output buffer). More...
 
#define VUserLog(format, ...)
 Same as VLog, but for messages intended for end users. More...
 
#define VDebugLog(format, ...)
 Same as VLog, but for debug messages intended for end users. More...
 
#define VLogHeap(heapPointer)
 Prints the name of the current file and function, and the address and description of the specified heapPointer, to the system log and to stderr (and implicitly flushes the output buffer). More...
 
#define VUOLOG_PROFILE_BEGIN(object)
 Starts a profiler time sample. More...
 
#define VUOLOG_PROFILE_END(object)
 Ends a profiler time sample. More...
 

Functions

double VuoLogGetTime (void)
 Returns the number of seconds (including fractional seconds) since an arbitrary start time. More...
 
double VuoLogGetElapsedTime (void)
 Returns the number of seconds (including fractional seconds) since this module was loaded. More...
 
bool VuoIsDebugEnabled (void)
 Returns true if debug mode is enabled. More...
 
char * VuoLog_copyCFDescription (const void *variable)
 Returns a C string description of variable, a reference to a CoreFoundation object. More...
 
void VuoLog_backtrace (void)
 Prints the stack backtrace to stderr. More...
 
void VuoLog_setCompositionName (const char *compositionName)
 Stores the composition's name so it can be included in crash reports. More...
 
void VuoLog (const char *file, const unsigned int linenumber, const char *function, const char *format,...)
 Outputs a message to the system log and to stderr. More...
 
void VuoLog_recordTime (const char *name, double time)
 Adds time to the specified profile name. More...
 

Macro Definition Documentation

◆ VDebugLog

#define VDebugLog (   format,
  ... 
)

Same as VLog, but for debug messages intended for end users.

Definition at line 88 of file VuoLog.h.

◆ VL

#define VL ( )

Prints the name of the file and function to the system log and to stderr (and implicitly flushes the output buffer).

Example:
void nodeEvent()
{
VL();
}

Definition at line 58 of file VuoLog.h.

◆ VLog

#define VLog (   format,
  ... 
)

Prints the name of the file and function, and printf()-style format/arguments, to the system log and to stderr (and implicitly flushes the output buffer).

Use this for debugging only; don't commit files with VLog calls. To log messages intended for end users, see VUserLog.

Example:
void nodeEvent(VuoInputData(VuoInteger, "42") number)
{
VLog("%lld", number);
}

Definition at line 74 of file VuoLog.h.

◆ VLogHeap

#define VLogHeap (   heapPointer)

Prints the name of the current file and function, and the address and description of the specified heapPointer, to the system log and to stderr (and implicitly flushes the output buffer).

Example:
{
VLogHeap(shader);
}

Definition at line 102 of file VuoLog.h.

◆ VUOLOG_PROFILE_BEGIN

#define VUOLOG_PROFILE_BEGIN (   object)

Starts a profiler time sample.

In this macro's parameter, pass a text identifier for the time sample (such as the variable name of a libdispatch queue or semaphore).

Example:

Definition at line 126 of file VuoLog.h.

◆ VUOLOG_PROFILE_END

#define VUOLOG_PROFILE_END (   object)

Ends a profiler time sample.

Definition at line 131 of file VuoLog.h.

◆ VUserLog

#define VUserLog (   format,
  ... 
)

Same as VLog, but for messages intended for end users.

Definition at line 81 of file VuoLog.h.

Function Documentation

◆ VuoIsDebugEnabled()

bool VuoIsDebugEnabled ( void  )

Returns true if debug mode is enabled.

Users can enable debug mode by executing defaults write org.vuo.Editor debug -boolean true, and can disable it by executing defaults delete org.vuo.Editor debug.

Nodes should use this to control verbose logging.

Definition at line 395 of file VuoLog.cc.

◆ VuoLog()

void VuoLog ( const char *  file,
const unsigned int  linenumber,
const char *  function,
const char *  format,
  ... 
)

Outputs a message to the system log and to stderr.

Also stores the most recent 2 messages in the OS X CrashReporter data structure, to be included with crash reports.

Definition at line 194 of file VuoLog.cc.

◆ VuoLog_backtrace()

void VuoLog_backtrace ( void  )

Prints the stack backtrace to stderr.

Definition at line 426 of file VuoLog.cc.

◆ VuoLog_copyCFDescription()

char* VuoLog_copyCFDescription ( const void *  variable)

Returns a C string description of variable, a reference to a CoreFoundation object.

The caller is responsible for free()ing the returned string.

Definition at line 410 of file VuoLog.cc.

◆ VuoLog_recordTime()

void VuoLog_recordTime ( const char *  name,
double  time 
)

Adds time to the specified profile name.

Definition at line 96 of file VuoLog.cc.

◆ VuoLog_setCompositionName()

void VuoLog_setCompositionName ( const char *  compositionName)

Stores the composition's name so it can be included in crash reports.

The caller retains ownership of the string.

Definition at line 167 of file VuoLog.cc.

◆ VuoLogGetElapsedTime()

double VuoLogGetElapsedTime ( void  )

Returns the number of seconds (including fractional seconds) since this module was loaded.

Definition at line 137 of file VuoLog.cc.

◆ VuoLogGetTime()

double VuoLogGetTime ( void  )

Returns the number of seconds (including fractional seconds) since an arbitrary start time.

Definition at line 40 of file VuoLog.cc.