31static const char *__crashreporter_info__ = 0;
32asm(
".desc ___crashreporter_info__, 0x10");
39 static std::mutex *
m =
new std::mutex();
59 TTHREAD_TLS(
Int_t) buf_size = 2048;
60 TTHREAD_TLS(
char*) buf =
nullptr;
67 buf =
new char[buf_size];
69 Int_t n = vsnprintf(buf, buf_size, fmt, ap);
72 if (
n == -1 ||
n >= buf_size) {
88 const char *toprint = buf;
89 fprintf(stderr,
"%s", toprint);
92 ::OutputDebugString(buf);
107 auto cstrlevel =
gEnv->
GetValue(
"Root.ErrorIgnoreLevel",
"Print");
113 while (cstrlevel && *cstrlevel) {
114 slevel.push_back(tolower(*cstrlevel));
118 if (slevel ==
"print")
120 else if (slevel ==
"info")
122 else if (slevel ==
"warning")
124 else if (slevel ==
"error")
126 else if (slevel ==
"break")
128 else if (slevel ==
"syserror")
130 else if (slevel ==
"fatal")
138 const char *
type =
"?";
147 type =
"\n *** Break ***";
157 smsg = std::string(
type) +
" " + msg;
158 else if (!location || !location[0])
159 smsg = std::string(
type) +
": " + msg;
161 smsg = std::string(
type) +
" in <" + location +
">: " + msg;
169 if (__crashreporter_info__)
170 delete [] __crashreporter_info__;
171 __crashreporter_info__ = strdup(smsg.c_str());
static void DebugPrint(const char *fmt,...)
Print debugging message to stderr and, on Windows, to the system debugger.
void DefaultErrorHandler(Int_t level, Bool_t abort_bool, const char *location, const char *msg)
The default error handler function.
static std::mutex * GetErrorMutex()
Serializes error output, destructed by the gROOT destructor via ReleaseDefaultErrorHandler()
Int_t gErrorIgnoreLevel
Error handling routines.
constexpr Int_t kSysError
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
R__EXTERN TSystem * gSystem
virtual Int_t GetValue(const char *name, Int_t dflt) const
Returns the integer value for a resource.
virtual void Abort(int code=0)
Abort the application.
virtual void StackTrace()
Print a stack trace.
void ReleaseDefaultErrorHandler()
Destructs resources that are taken by using the default error handler.
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.