24 this->description = description;
29 if (backtrace.size() < 3)
36 oss << description << endl;
37 oss <<
"Exception occurred at:" << endl;
40 backtrace.erase(backtrace.begin());
43 for (
auto line : backtrace)
46 asprintf(&lineNumber,
"%3d ", i++);
47 oss << lineNumber << line << endl;
51 string dispatchQueue = dispatch_queue_get_label(DISPATCH_CURRENT_QUEUE_LABEL);
52 if (dispatchQueue !=
"com.apple.root.default-qos")
53 oss <<
"Queue: " << dispatchQueue << endl;
56 bzero(threadName, 256);
57 int ret = pthread_getname_np(pthread_self(), threadName, 256);
58 if (ret == 0 && strlen(threadName))
59 oss <<
"Thread: " << threadName << endl;
78 return description.c_str();