8#include "config-debug.h"
13#define HAVE_BACKTRACE_DEMANGLE
22static QString maybeDemangledName(
char *name)
24#ifdef HAVE_BACKTRACE_DEMANGLE
25 const int len = strlen(name);
26 QByteArray in = QByteArray::fromRawData(name, len);
27 const int mangledNameStart = in.indexOf(
"(_");
28 if (mangledNameStart >= 0) {
29 const int mangledNameEnd = in.indexOf(
'+', mangledNameStart + 2);
30 if (mangledNameEnd >= 0) {
34 name[mangledNameEnd] = 0;
35 char *demangled = abi::__cxa_demangle(name + mangledNameStart + 1, 0, 0, &status);
36 name[mangledNameEnd] =
'+';
38 QString ret = QString::fromLatin1(name, mangledNameStart + 1) +
39 QString::fromLatin1(demangled) +
40 QString::fromLatin1(name + mangledNameEnd, len - mangledNameEnd);
47 return QString::fromLatin1(name);
56 int n = backtrace(trace, 256);
60 char **strings = backtrace_symbols(trace, n);
62 s = QLatin1String(
"[\n");
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");
73Q_LOGGING_CATEGORY(
_30009,
"krita.lib.resources", QtInfoMsg)
74Q_LOGGING_CATEGORY(
_30010,
"krita.db.migration", QtInfoMsg)
75Q_LOGGING_CATEGORY(
_41000,
"krita.general", QtInfoMsg)
76Q_LOGGING_CATEGORY(
_41001,
"krita.core", QtInfoMsg)
77Q_LOGGING_CATEGORY(
_41002,
"krita.registry", QtInfoMsg)
78Q_LOGGING_CATEGORY(
_41003,
"krita.tools", QtInfoMsg)
79Q_LOGGING_CATEGORY(
_41004,
"krita.tiles", QtInfoMsg)
80Q_LOGGING_CATEGORY(
_41005,
"krita.filters", QtInfoMsg)
81Q_LOGGING_CATEGORY(
_41006,
"krita.plugins", QtInfoMsg)
82Q_LOGGING_CATEGORY(
_41007,
"krita.ui", QtInfoMsg)
83Q_LOGGING_CATEGORY(
_41008,
"krita.file", QtInfoMsg)
84Q_LOGGING_CATEGORY(
_41009,
"krita.math", QtInfoMsg)
85Q_LOGGING_CATEGORY(
_41010,
"krita.render", QtInfoMsg)
86Q_LOGGING_CATEGORY(
_41011,
"krita.scripting", QtInfoMsg)
87Q_LOGGING_CATEGORY(
_41012,
"krita.input", QtInfoMsg)
88Q_LOGGING_CATEGORY(
_41013,
"krita.action", QtInfoMsg)
89Q_LOGGING_CATEGORY(
_41014,
"krita.tabletlog", QtDebugMsg)
90Q_LOGGING_CATEGORY(
_41015,
"krita.opengl", QtInfoMsg)
91Q_LOGGING_CATEGORY(
_41016,
"krita.metadata", QtInfoMsg)
92Q_LOGGING_CATEGORY(
_41017,
"krita.android", QtDebugMsg)
93Q_LOGGING_CATEGORY(
_41018,
"krita.locale", QtInfoMsg)
97 std::string prettyFunction(_prettyFunction);
99 size_t colons = prettyFunction.find(
"::");
100 size_t begin = prettyFunction.substr(0,colons).rfind(
" ") + 1;
101 size_t end = prettyFunction.rfind(
"(") - begin;
103 return QString(std::string(prettyFunction.substr(begin,end) +
"()").c_str());
QString __methodName(const char *_prettyFunction)
const KRITAGLOBAL_EXPORT QLoggingCategory & _41003()
const KRITAGLOBAL_EXPORT QLoggingCategory & _41006()
const KRITAGLOBAL_EXPORT QLoggingCategory & _41011()
const KRITAGLOBAL_EXPORT QLoggingCategory & _41017()
const KRITAGLOBAL_EXPORT QLoggingCategory & _41009()
const KRITAGLOBAL_EXPORT QLoggingCategory & _41005()
const KRITAGLOBAL_EXPORT QLoggingCategory & _41015()
const KRITAGLOBAL_EXPORT QLoggingCategory & _41012()
const KRITAGLOBAL_EXPORT QLoggingCategory & _30010()
const KRITAGLOBAL_EXPORT QLoggingCategory & _30009()
const KRITAGLOBAL_EXPORT QLoggingCategory & _41004()
const KRITAGLOBAL_EXPORT QLoggingCategory & _41007()
const KRITAGLOBAL_EXPORT QLoggingCategory & _41001()
const KRITAGLOBAL_EXPORT QLoggingCategory & _41016()
const KRITAGLOBAL_EXPORT QLoggingCategory & _41000()
const KRITAGLOBAL_EXPORT QLoggingCategory & _41014()
const KRITAGLOBAL_EXPORT QLoggingCategory & _41002()
const KRITAGLOBAL_EXPORT QLoggingCategory & _41008()
const KRITAGLOBAL_EXPORT QLoggingCategory & _41018()
const KRITAGLOBAL_EXPORT QLoggingCategory & _41013()
const KRITAGLOBAL_EXPORT QLoggingCategory & _41010()
const char * name(StandardAction id)