SoDebugError Class Reference

| http://www.sim.no/ http://www.coin3d.org/

- Main Page
- Related Pages
- Modules
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
SoDebugError Class Reference
Error Handling Classes

The SoDebugError class is the internal debugging message passing mechanism.This class basically serves two purposes: More...

`#include <Inventor/errors/SoDebugError.h>`

Inheritance diagram for SoDebugError:

## Public Types
enum | Severity { ERROR, WARNING, INFO }

## Public Member Functions
virtual SoType | getTypeId (void) const
SoDebugError::Severity | getSeverity (void) const
Public Member Functions inherited from SoError
virtual | ~SoError ()
const SbString & | getDebugString (void) const
SbBool | isOfType (const SoType type) const

## Static Public Member Functions
static void | setHandlerCallback (SoErrorCB *const function, void *const data)
static SoErrorCB * | getHandlerCallback (void)
static void * | getHandlerData (void)
static SoType | getClassTypeId (void)
static void | post (const char *const source, const char *const format,...)
static void | postWarning (const char *const source, const char *const format,...)
static void | postInfo (const char *const source, const char *const format,...)
static void | initClass (void)
Static Public Member Functions inherited from SoError
static void | setHandlerCallback (SoErrorCB *const func, void *const data)
static SoErrorCB * | getHandlerCallback (void)
static void * | getHandlerData (void)
static SoType | getClassTypeId (void)
static void | post (const char *const format,...)
static SbString | getString (const SoNode *const node)
static SbString | getString (const SoPath *const path)
static SbString | getString (const SoEngine *const engine)
static void | initClass (void)
static void | initClasses (void)

## Protected Member Functions
virtual SoErrorCBPtr | getHandler (void *&data) const
Protected Member Functions inherited from SoError
void | setDebugString (const char *const str)
void | appendToDebugString (const char *const str)
void | handleError (void)

## Additional Inherited Members
Static Protected Member Functions inherited from SoError
static void | defaultHandlerCB (const SoError *error, void *userdata)

## Detailed Description

The SoDebugError class is the internal debugging message passing mechanism.

This class basically serves two purposes:

1) It is the message interface through which error and warning conditions are passed to the programmer which is using the Coin library API for building applications. These messages are generated when API methods are used in an incorrect manner, or if actions on the library has caused it to enter an inconsistent state. Coin programmers should then quickly be able to trace down errors in their application code.

For this service to be available, the Coin library must be compiled with debugging information. For release builds, most of this "programmer's safety net" is removed to gain maximum speed and to use minimum space (build the smallest possible library).

2) Coin application programmers can call the SoDebugError methods within their own code as a convenient way of debugging application code, replacing the usual cascades of fprintf() calls.

Coin supports an environment variable to set conditional breakpoints. The COIN_DEBUG_BREAK environment variable can be set to any number of functions in the form of a list separated by commas or spaces. The functionnames must be given as "classname::functioname" (ie without return type, parenthesis or argument types or names). If a debug message is posted from one of those functions, your program will be stopped (using assert(0)).

This can be useful if you want to get core-dumps or enter a debugger whenever for instance a warning or an error is posted from some function (e.g. "SbVec3f::normalize"). This feature is only enabled in the debug version of Coin.

## Member Enumeration Documentation

enum SoDebugError::Severity

Specifies the available severity levels of the debug messages.

## Member Function Documentation

SoType SoDebugError::getTypeId | ( | void |  | ) | const
| virtual

This method returns the SoType of a particular object instance.

See also
  getClassTypeId()

Reimplemented from SoError.

SoDebugError::Severity SoDebugError::getSeverity | ( | void |  | ) | const

Returns severity level of current message.

You can use this to filter out debug messages and only let warnings and/or errors pass through to the end-user if you have set your own handler callback.

See also
  setHandlerCallback()

void SoDebugError::post | ( | const char *const | source,
|  | const char *const | format,
|  |  | ...
| ) |  |
| static

This method posts a message with severity level "ERROR". source should be the name of the calling function.

void SoDebugError::postWarning | ( | const char *const | source,
|  | const char *const | format,
|  |  | ...
| ) |  |
| static

This method posts a message with severity level "WARNING". source should be the name of the calling function.

void SoDebugError::postInfo | ( | const char *const | source,
|  | const char *const | format,
|  |  | ...
| ) |  |
| static

This method posts a message with severity level "INFO". source should be the name of the calling function.

SoErrorCB * SoDebugError::getHandler | ( | void *& | data | ) | const
| protectedvirtual

This is just a convenience wrapper around the getHandlerCallback() and getHandlerData() methods.

Reimplemented from SoError.

The documentation for this class was generated from the following files:

- SoDebugError.h
- SoDebugError.cpp

Copyright © 1998-2010 by Kongsberg Oil & Gas Technologies. All rights reserved.