#include "kis_debug.h"
#include "config-debug.h"
#include <string>
Go to the source code of this file.
◆ __methodName()
| QString __methodName |
( |
const char * | _prettyFunction | ) |
|
Definition at line 95 of file kis_debug.cpp.
96{
97 std::string prettyFunction(_prettyFunction);
98
99 size_t colons = prettyFunction.find("::");
100 size_t begin = prettyFunction.substr(0,colons).rfind(" ") + 1;
101 size_t end = prettyFunction.rfind("(") - begin;
102
103 return QString(std::string(prettyFunction.substr(begin,end) + "()").c_str());
104}
◆ kisBacktrace()
Show a nicely formatted backtrace.
Definition at line 51 of file kis_debug.cpp.
52{
53 QString s;
54#if HAVE_BACKTRACE
55 void *trace[256];
56 int n = backtrace(trace, 256);
57 if (!n) {
58 return s;
59 }
60 char **strings = backtrace_symbols(trace, n);
61
62 s = QLatin1String("[\n");
63
64 for (int i = 0; i < n; ++i)
65 s += QLatin1String("\t") + QString::number(i) + QLatin1String(": ") +
66 maybeDemangledName(strings[i]) + QLatin1Char('\n');
67 s += QLatin1String("]\n");
68 free(strings);
69#endif
70 return s;
71}