Vuo  2.3.2
Classes | Macros | Functions | Variables
VuoLog.cc File Reference

Description

VuoLog implementation.

Definition in file VuoLog.cc.

Go to the source code of this file.

Classes

struct  VuoCrashReport_infoType
 Data to be inserted into macOS crash reports. More...
 
struct  NSOperatingSystemVersion
 Return value of -[NSProcessInfo operatingSystemVersion], from NSProcessInfo.h. More...
 

Macros

#define VuoCrashReport_alignment   __attribute__((aligned(8)))
 Align on 8-byte boundaries. More...
 

Functions

void VuoTerminateHandler ()
 Log the timestamp at which std::terminate was called, so we can tell whether the logged exceptions are related to it. More...
 
double VuoLogGetTime (void)
 Returns the number of seconds (including fractional seconds) since an arbitrary start time. More...
 
void VuoLog_recordTime (const char *name, double time)
 Adds time to the specified profile name. More...
 
double VuoLogGetElapsedTime (void)
 Returns the number of seconds (including fractional seconds) since this module was loaded. More...
 
void VuoLog_statusF (const char *file, const unsigned int linenumber, const char *function, const char *format,...)
 Helper for VuoLog_status. More...
 
static NSOperatingSystemVersion VuoLog_getOSVersion (void)
 Returns the current operating system version. More...
 
bool VuoLog_isDebuggerAttached (void)
 Returns true if the current process is being debugged (either launched by LLDB/Instruments, or the LLDB/Instruments attached after the process launched). 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...
 
bool VuoIsDebugEnabled (void)
 Returns true if debug mode is enabled. More...
 
void VuoLog_backtrace (void)
 Prints the stack backtrace to stderr. More...
 
void VuoLog_replaceString (char *wholeString, const char *substringToRemove, const char *replacement)
 Removes all occurrences of a substring. More...
 
vector< string > VuoLog_getBacktrace (void)
 Returns the stack backtrace. More...
 

Variables

static std::terminate_handler nextTerminateHandler = nullptr
 The existing std::terminate handler before we installed ours. More...
 
double VuoLogStartTime
 The time when this module was loaded. More...
 
const int VuoLogHistoryItems = 20
 How many VLog messages to include in crash reports. More...
 
char * VuoLogHistory [VuoLogHistoryItems]
 VLog messages to include in crash reports. More...
 
dispatch_queue_t VuoLogHistoryQueue
 Serializes access to VuoLogHistory. More...
 

Class Documentation

◆ VuoCrashReport_infoType

struct VuoCrashReport_infoType
Class Members
unsigned int version VuoCrashReport_alignment
char *message VuoCrashReport_alignment Shows up in the crash report's "Application Specific Information" section.
char *signature VuoCrashReport_alignment
char *backtrace VuoCrashReport_alignment
char *message2 VuoCrashReport_alignment Shows up in the crash report's "Application Specific Information" section, above message.
void *reserved VuoCrashReport_alignment
void *reserved2 VuoCrashReport_alignment

◆ NSOperatingSystemVersion

struct NSOperatingSystemVersion
Class Members
long majorVersion
long minorVersion
long patchVersion

Macro Definition Documentation

◆ VuoCrashReport_alignment

#define VuoCrashReport_alignment   __attribute__((aligned(8)))

Align on 8-byte boundaries.

Definition at line 186 of file VuoLog.cc.

Function Documentation

◆ VuoLog_getBacktrace()

vector<string> VuoLog_getBacktrace ( void  )

Returns the stack backtrace.

Definition at line 561 of file VuoLog.cc.

◆ VuoLog_getOSVersion()

static NSOperatingSystemVersion VuoLog_getOSVersion ( void  )
static

Returns the current operating system version.

Definition at line 246 of file VuoLog.cc.

◆ VuoLog_replaceString()

void VuoLog_replaceString ( char *  wholeString,
const char *  substringToRemove,
const char *  replacement 
)

Removes all occurrences of a substring.

replacement must be shorter than the expanded substringToRemove.

Definition at line 543 of file VuoLog.cc.

◆ VuoTerminateHandler()

void VuoTerminateHandler ( )

Log the timestamp at which std::terminate was called, so we can tell whether the logged exceptions are related to it.

Definition at line 45 of file VuoLog.cc.

Variable Documentation

◆ nextTerminateHandler

std::terminate_handler nextTerminateHandler = nullptr
static

The existing std::terminate handler before we installed ours.

Definition at line 39 of file VuoLog.cc.

◆ VuoLogHistory

char* VuoLogHistory[VuoLogHistoryItems]

VLog messages to include in crash reports.

Definition at line 99 of file VuoLog.cc.

◆ VuoLogHistoryItems

const int VuoLogHistoryItems = 20

How many VLog messages to include in crash reports.

Definition at line 98 of file VuoLog.cc.

◆ VuoLogHistoryQueue

dispatch_queue_t VuoLogHistoryQueue

Serializes access to VuoLogHistory.

Definition at line 100 of file VuoLog.cc.

◆ VuoLogStartTime

double VuoLogStartTime

The time when this module was loaded.

Definition at line 96 of file VuoLog.cc.