Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_debug.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2005 Boudewijn Rempt <boud@valdyas.org>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6#ifndef KIS_DEBUG_H_
7#define KIS_DEBUG_H_
8
9#include <QDebug>
10#include <QLoggingCategory>
11
12#include "kritaglobal_export.h"
13
21extern const KRITAGLOBAL_EXPORT QLoggingCategory &_30009();
22extern const KRITAGLOBAL_EXPORT QLoggingCategory &_30010();
23extern const KRITAGLOBAL_EXPORT QLoggingCategory &_41000();
24extern const KRITAGLOBAL_EXPORT QLoggingCategory &_41001();
25extern const KRITAGLOBAL_EXPORT QLoggingCategory &_41002();
26extern const KRITAGLOBAL_EXPORT QLoggingCategory &_41003();
27extern const KRITAGLOBAL_EXPORT QLoggingCategory &_41004();
28extern const KRITAGLOBAL_EXPORT QLoggingCategory &_41005();
29extern const KRITAGLOBAL_EXPORT QLoggingCategory &_41006();
30extern const KRITAGLOBAL_EXPORT QLoggingCategory &_41007();
31extern const KRITAGLOBAL_EXPORT QLoggingCategory &_41008();
32extern const KRITAGLOBAL_EXPORT QLoggingCategory &_41009();
33extern const KRITAGLOBAL_EXPORT QLoggingCategory &_41010();
34extern const KRITAGLOBAL_EXPORT QLoggingCategory &_41011();
35extern const KRITAGLOBAL_EXPORT QLoggingCategory &_41012();
36extern const KRITAGLOBAL_EXPORT QLoggingCategory &_41013();
37extern const KRITAGLOBAL_EXPORT QLoggingCategory &_41014();
38extern const KRITAGLOBAL_EXPORT QLoggingCategory &_41015();
39extern const KRITAGLOBAL_EXPORT QLoggingCategory &_41016();
40extern const KRITAGLOBAL_EXPORT QLoggingCategory &_41017();
41extern const KRITAGLOBAL_EXPORT QLoggingCategory &_41018();
42extern const KRITAGLOBAL_EXPORT QLoggingCategory &_41021();
43
44#define dbgPerformanceIsEnabled() (_41021().isDebugEnabled())
45
46#define dbgResources qCDebug(_30009)
47#define dbgDbMigration qCDebug(_30010)
48#define dbgKrita qCDebug(_41000)
49#define dbgImage qCDebug(_41001)
50#define dbgRegistry qCDebug(_41002)
51#define dbgTools qCDebug(_41003)
52#define dbgTiles qCDebug(_41004)
53#define dbgFilters qCDebug(_41005)
54#define dbgPlugins qCDebug(_41006)
55#define dbgUI qCDebug(_41007)
56#define dbgFile qCDebug(_41008)
57#define dbgMath qCDebug(_41009)
58#define dbgRender qCDebug(_41010)
59#define dbgScript qCDebug(_41011)
60#define dbgInput qCDebug(_41012)
61#define dbgAction qCDebug(_41013)
62#define dbgTablet qCDebug(_41014)
63#define dbgOpenGL qCDebug(_41015)
64#define dbgMetaData qCDebug(_41016)
65#define dbgAndroid qCDebug(_41017)
66#define dbgLocale qCDebug(_41018)
67#define dbgPerformance qCDebug(_41021)
68
69#define infoResources qCInfo(_30009)
70#define infoDbMigration qCInfo(_30010)
71#define infoKrita qCInfo(_41000)
72#define infoImage qCInfo(_41001)
73#define infoRegistry qCInfo(_41002)
74#define infoTools qCInfo(_41003)
75#define infoTiles qCInfo(_41004)
76#define infoFilters qCInfo(_41005)
77#define infoPlugins qCInfo(_41006)
78#define infoUI qCInfo(_41007)
79#define infoFile qCInfo(_41008)
80#define infoMath qCInfo(_41009)
81#define infoRender qCInfo(_41010)
82#define infoScript qCInfo(_41011)
83#define infoInput qCInfo(_41012)
84#define infoAction qCDebug(_41013)
85#define infoTablet qCDebug(_41014)
86#define infoOpenGL qCDebug(_41015)
87#define infoMetaData qCDebug(_41016)
88
89#define warnResources qCWarning(_30009)
90#define warnDbMigration qCWarning(_30010)
91#define warnKrita qCWarning(_41000)
92#define warnImage qCWarning(_41001)
93#define warnRegistry qCWarning(_41002)
94#define warnTools qCWarning(_41003)
95#define warnTiles qCWarning(_41004)
96#define warnFilters qCWarning(_41005)
97#define warnPlugins qCWarning(_41006)
98#define warnUI qCWarning(_41007)
99#define warnFile qCWarning(_41008)
100#define warnMath qCWarning(_41009)
101#define warnRender qCWarning(_41010)
102#define warnScript qCWarning(_41011)
103#define warnInput qCWarning(_41012)
104#define warnAction qCDebug(_41013)
105#define warnTablet qCDebug(_41014)
106#define warnOpenGL qCDebug(_41015)
107#define warnMetaData qCDebug(_41016)
108
109#define errResources qCCritical(_30009)
110#define errDbMigration qCCritical(_30010)
111#define errKrita qCCritical(_41000)
112#define errImage qCCritical(_41001)
113#define errRegistry qCCritical(_41002)
114#define errTools qCCritical(_41003)
115#define errTiles qCCritical(_41004)
116#define errFilters qCCritical(_41005)
117#define errPlugins qCCritical(_41006)
118#define errUI qCCritical(_41007)
119#define errFile qCCritical(_41008)
120#define errMath qCCritical(_41009)
121#define errRender qCCritical(_41010)
122#define errScript qCCritical(_41011)
123#define errInput qCCritical(_41012)
124#define errAction qCDebug(_41013)
125#define errTablet qCDebug(_41014)
126#define errOpenGL qCDebug(_41015)
127#define errMetaData qCDebug(_41016)
128
129// Qt does not yet define qCFatal (TODO: this is an oversight, submit a patch upstream)
130/*
131#define fatalResources qCFatal(_30009)
132#define fatalKrita qCFatal(_41000)
133#define fatalImage qCFatal(_41001)
134#define fatalRegistry qCFatal(_41002)
135#define fatalTools qCFatal(_41003)
136#define fatalTiles qCFatal(_41004)
137#define fatalFilters qCFatal(_41005)
138#define fatalPlugins qCFatal(_41006)
139#define fatalUI qCFatal(_41007)
140#define fatalFile qCFatal(_41008)
141#define fatalMath qCFatal(_41009)
142#define fatalRender qCFatal(_41010)
143#define fatalScript qCFatal(_41011)
144#define fatalInput qCFatal(_41012)
145#define fatalAction qCDebug(_41013)
146*/
147
148
152KRITAGLOBAL_EXPORT QString kisBacktrace();
153
159#define ppVar( var ) #var << "=" << (var)
160
161
162#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
163# ifndef QT_NO_DEBUG
164# undef Q_ASSERT
165# define Q_ASSERT(cond) if(!(cond)) { errKrita.noquote() << kisBacktrace(); qt_assert(#cond,__FILE__,__LINE__); } qt_noop()
166# endif
167#endif
168
169#ifdef __GNUC__
170KRITAGLOBAL_EXPORT QString __methodName(const char *prettyFunction);
171#define __METHOD_NAME__ __methodName(__PRETTY_FUNCTION__)
172#else
173#define __METHOD_NAME__ "<unknown>:<unknown>"
174#endif
175
176#define PREPEND_METHOD(msg) QString("%1: %2").arg(__METHOD_NAME__).arg(msg)
177
178#ifdef __GNUC__
179#define ENTER_FUNCTION() qDebug() << "Entering" << __METHOD_NAME__
180#define LEAVE_FUNCTION() qDebug() << "Leaving " << __METHOD_NAME__
181#else
182#define ENTER_FUNCTION() qDebug() << "Entering" << "<unknown>"
183#define LEAVE_FUNCTION() qDebug() << "Leaving " << "<unknown>"
184#endif
185
186#include "kis_assert.h"
187
188#endif
QString __methodName(const char *_prettyFunction)
Definition kis_debug.cpp:96
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 & _41021()
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()
KRITAGLOBAL_EXPORT QString kisBacktrace()
Definition kis_debug.cpp:51
const KRITAGLOBAL_EXPORT QLoggingCategory & _41018()
const KRITAGLOBAL_EXPORT QLoggingCategory & _41013()
const KRITAGLOBAL_EXPORT QLoggingCategory & _41010()