28 #ifndef __UT_StackTrace__
29 #define __UT_StackTrace__
40 #define TRACE_STACK() { UT_StackTrace tr; tr.doTraceback(); }
41 #define TRACE_STACK_LIMIT(lm) { UT_StackTrace tr; tr.setMaxStackLevel(lm); \
43 #define TRACE_STACK_FILE(fp) { UT_StackTrace tr(fp); tr.doTraceback(); }
44 #define TRACE_STACK_COND(cond){ UT_StackTrace tr; tr.doCondTraceback(cond); }
53 const char *
label = 0,
54 bool add_markers =
false);
56 void doTraceback(
const char *
label = 0,
57 bool add_markers =
false);
59 void doCondTraceback(
const char *symbol,
60 const char *
label = 0,
61 bool add_markers =
false);
65 const char *
label = 0,
66 bool add_markers =
false);
68 const char *
label = 0,
69 bool add_markers =
false);
71 bool getSymbolNameAtAddress(
const void *
address,
85 myTraceAllThreads = state;
93 myMaxStackLevel =
level;
101 ourEnableFlag = state;
104 static void enableCondTrace(
const char *symbol,
bool enable);
119 static bool ourEnableFlag;
132 UT_API extern bool UTgetProcessStackTrace(
135 bool add_markers =
false);
void setMaxStackLevel(int level)
GLuint GLsizei const GLchar * label
GLuint GLuint64EXT address
Helper class to output stack traces from the current execution point.
void setTraceAllThreads(bool state)
void setShowPC(bool state)
UT_API exint UTgetCurrentStackLimit()
UT_API exint UTgetCurrentStackUsage()
void setVerbose(bool state)
static void enableTraceBacks(bool state)