Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_debug.cpp File Reference
#include "kis_debug.h"
#include "config-debug.h"
#include <string>

Go to the source code of this file.

Functions

QString __methodName (const char *_prettyFunction)
 
QString kisBacktrace ()
 

Function Documentation

◆ __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()

QString 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}