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,
87 myTraceAllThreads = state;
96 myMaxStackLevel =
level;
104 ourEnableFlag = state;
107 static void enableCondTrace(
const char *symbol,
bool enable);
122 static bool ourEnableFlag;
138 UT_API extern bool UTgetProcessStackTrace(
141 bool add_markers =
false);
void setMaxStackLevel(int level)
GLuint GLsizei const GLchar * message
GLuint GLsizei const GLchar * label
**But if you need a result
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)
UT_API bool UTdetectBadModules(UT_WorkBuffer &message)
WINDOWS ONLY: Find bad modules and report an error message if found.
static void enableTraceBacks(bool state)