CrystalSpace

Public API Reference

csDebuggingGraph Class Reference

This is a static class that helps with debugging. More...

#include <csutil/debug.h>

List of all members.

Static Public Member Functions

static void AddChild (iObjectRegistry *object_reg, void *parent, void *child)
 Add a child to an object.
static void AddObject (iObjectRegistry *object_reg, void *object, bool scf, char *file, int linenr, char *description,...)
 Add a new object to the debug graph and link to its parent.
static void AddParent (iObjectRegistry *object_reg, void *child, void *parent)
 Add a parent to an object.
static void AttachDescription (iObjectRegistry *object_reg, void *object, char *description,...)
 Attach a new description to an object in the graph.
static void AttachType (iObjectRegistry *object_reg, void *object, char *type)
 Attach a type to an object in the graph.
static void Clear (iObjectRegistry *object_reg)
 Completely clear everything in the debug graph.
static void Dump (iObjectRegistry *object_reg, void *object, bool reset_mark=true)
 Dump the graph containing the given object.
static void Dump (iObjectRegistry *object_reg)
 Dump all the resulting graphs.
static void RemoveChild (iObjectRegistry *object_reg, void *parent, void *child)
 Unlink a child from its parent.
static void RemoveObject (iObjectRegistry *object_reg, void *object, char *file, int linenr)
 Remove an object from the debug tree.
static void RemoveParent (iObjectRegistry *object_reg, void *child, void *parent)
 Unlink a parent from its child.
static void SetupGraph (iObjectRegistry *object_reg)
 Initialize the debugging graph.


Detailed Description

This is a static class that helps with debugging.

It will register an object in the object registry that keeps track of allocations in a graph. Later on you can add/remove allocations from that graph.

Definition at line 88 of file debug.h.


Member Function Documentation

static void csDebuggingGraph::AddChild ( iObjectRegistry object_reg,
void *  parent,
void *  child 
) [static]

Add a child to an object.

static void csDebuggingGraph::AddObject ( iObjectRegistry object_reg,
void *  object,
bool  scf,
char *  file,
int  linenr,
char *  description,
  ... 
) [static]

Add a new object to the debug graph and link to its parent.

If 'scf' is true 'object' is an iBase.

See also:
Notes about string formatting in Crystal Space

static void csDebuggingGraph::AddParent ( iObjectRegistry object_reg,
void *  child,
void *  parent 
) [static]

Add a parent to an object.

static void csDebuggingGraph::AttachDescription ( iObjectRegistry object_reg,
void *  object,
char *  description,
  ... 
) [static]

Attach a new description to an object in the graph.

See also:
Notes about string formatting in Crystal Space

static void csDebuggingGraph::AttachType ( iObjectRegistry object_reg,
void *  object,
char *  type 
) [static]

Attach a type to an object in the graph.

static void csDebuggingGraph::Clear ( iObjectRegistry object_reg  )  [static]

Completely clear everything in the debug graph.

static void csDebuggingGraph::Dump ( iObjectRegistry object_reg,
void *  object,
bool  reset_mark = true 
) [static]

Dump the graph containing the given object.

You should usually leave reset_mark alone. That's for internal use.

static void csDebuggingGraph::Dump ( iObjectRegistry object_reg  )  [static]

Dump all the resulting graphs.

static void csDebuggingGraph::RemoveChild ( iObjectRegistry object_reg,
void *  parent,
void *  child 
) [static]

Unlink a child from its parent.

static void csDebuggingGraph::RemoveObject ( iObjectRegistry object_reg,
void *  object,
char *  file,
int  linenr 
) [static]

Remove an object from the debug tree.

static void csDebuggingGraph::RemoveParent ( iObjectRegistry object_reg,
void *  child,
void *  parent 
) [static]

Unlink a parent from its child.

static void csDebuggingGraph::SetupGraph ( iObjectRegistry object_reg  )  [static]

Initialize the debugging graph.

Special note! In debug mode (CS_DEBUG) this function will put the pointer to the object registry in iSCF::object_reg. That way we can use this debugging functionality in places where the object registry is not available.


The documentation for this class was generated from the following file:
Generated for Crystal Space 1.0.2 by doxygen 1.4.7