QCAD
Open Source 2D CAD
RDebug Class Reference

This class provides some static methods for printing debugging information to stderr. More...

#include <RDebug.h>

Static Public Member Functions

static void decCounter (const QString &id=RDEFAULT_QSTRING)
 
static int getCounter (const QString &id=RDEFAULT_QSTRING)
 
static QString getPrefix ()
 
static void hexDump (const QString &str)
 
static void incCounter (const QString &id=RDEFAULT_QSTRING)
 
static void printBacktrace (const QString &prefix=RDEFAULT_QSTRING)
 
static void printCounter (const QString &id=RDEFAULT_QSTRING)
 
static void printCounters ()
 
static void setPrefix (const QString &p)
 
static void startTimer (int id=0)
 Starts a timer with the given ID. More...
 
static uint stopTimer (const QString &msg)
 Stops the timer with ID 0 and prints the given message together with the time that has elapsed. More...
 
static uint stopTimer (int id, const QString &msg, uint msThreshold=0)
 Stops the timer with the given ID and prints the given message together with the time that has elapsed. More...
 
static void timeStamp ()
 

Static Private Attributes

static QMap< QString, int > counter
 
static QString prefix
 
static QMap< int, QTime > timer
 Copyright (c) 2011-2018 by Andrew Mustun. More...
 

Detailed Description

This class provides some static methods for printing debugging information to stderr.

The methods accept a format string and parameters in the same way as the printf functions from standard C.

Messages can be logged with different priorities.

While there is no restriction as to what is logged, it is a good idea to log the class name and function name first.

// output for development:
qDebug("RMyClass::myFunction: i = %d", i);
// warnings ("this should not happen under normal cicumstances"):
qWarning("RMyClass::myFunction: cannot open file '%s'", fileName);
// indication for a bug in the application:
qWarning("RMyClass::myFunction: parent is NULL. Aborting.");
Scriptable:\nThis class is available in script environments.\n

Member Function Documentation

◆ decCounter()

void RDebug::decCounter ( const QString &  id = RDEFAULT_QSTRING)
static

◆ getCounter()

int RDebug::getCounter ( const QString &  id = RDEFAULT_QSTRING)
static

◆ getPrefix()

static QString RDebug::getPrefix ( )
inlinestatic

◆ hexDump()

void RDebug::hexDump ( const QString &  str)
static

◆ incCounter()

void RDebug::incCounter ( const QString &  id = RDEFAULT_QSTRING)
static

◆ printBacktrace()

void RDebug::printBacktrace ( const QString &  prefix = RDEFAULT_QSTRING)
static

◆ printCounter()

void RDebug::printCounter ( const QString &  id = RDEFAULT_QSTRING)
static

◆ printCounters()

void RDebug::printCounters ( )
static

◆ setPrefix()

static void RDebug::setPrefix ( const QString &  p)
inlinestatic

◆ startTimer()

void RDebug::startTimer ( int  id = 0)
static

Starts a timer with the given ID.

◆ stopTimer() [1/2]

static uint RDebug::stopTimer ( const QString &  msg)
inlinestatic

Stops the timer with ID 0 and prints the given message together with the time that has elapsed.

◆ stopTimer() [2/2]

uint RDebug::stopTimer ( int  id,
const QString &  msg,
uint  msThreshold = 0 
)
static

Stops the timer with the given ID and prints the given message together with the time that has elapsed.

◆ timeStamp()

void RDebug::timeStamp ( )
static

Member Data Documentation

◆ counter

QMap< QString, int > RDebug::counter
staticprivate

◆ prefix

QString RDebug::prefix
staticprivate

◆ timer

QMap< int, QTime > RDebug::timer
staticprivate

Copyright (c) 2011-2018 by Andrew Mustun.

All rights reserved.

This file is part of the QCAD project.

QCAD is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

QCAD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with QCAD.


The documentation for this class was generated from the following files:
i
int i
Copyright (c) 2011-2018 by Andrew Mustun.
Definition: autostart.js:49