string LogicError::constructErrorMsg(const char *describ, const char *file, int line) { int skipFrame = 3; #ifdef NDEBUG skipFrame = 0; #endif return format("%s(%d): %s\n", file, line, describ) + traceStack(skipFrame); }
string PosixException::constructErrorMsg(int err, const char *describ, const char *file, int line) { string s = format("%s(%d): %s\n\t%s\n", file, line, describ, strerror(err)); #ifndef NDEBUG s += traceStack(3); #endif return s; }
void rntStackTrace(int shouldTrace) { traceStack(shouldTrace); }