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 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 startTimer (int id=0)
 Starts a timer with the given ID. More...
 
static int stopTimer (int id, const QString &msg, int msThreshold=0)
 Stops the timer with the given ID and prints the given message together with the time that has elapsed. More...
 
static int stopTimer (const QString &msg)
 Stops the timer with ID 0 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 QMap< int, QTime > timer
 Copyright (c) 2011-2015 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:
This class is available in script environments.

Member Function Documentation

void RDebug::decCounter ( const QString &  id = RDEFAULT_QSTRING)
static
int RDebug::getCounter ( const QString &  id = RDEFAULT_QSTRING)
static
void RDebug::hexDump ( const QString &  str)
static
void RDebug::incCounter ( const QString &  id = RDEFAULT_QSTRING)
static
void RDebug::printBacktrace ( const QString &  prefix = RDEFAULT_QSTRING)
static
void RDebug::printCounter ( const QString &  id = RDEFAULT_QSTRING)
static
void RDebug::printCounters ( )
static
void RDebug::startTimer ( int  id = 0)
static

Starts a timer with the given ID.

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

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

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

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

void RDebug::timeStamp ( )
static

Member Data Documentation

QMap< QString, int > RDebug::counter
staticprivate
QMap< int, QTime > RDebug::timer
staticprivate

Copyright (c) 2011-2015 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: