ex1.cc

A simple example

using namespace std;
#include "TraceFct.h"


void f2( void )
{
  static int level = 0;
  TraceFct tf( "f2" );

  level++;
  tf.message( "message test: %d\n", level );
  tf.message( "1. multiline\n2. message test\n" );
  tf.message( "f2 stack dump:\n" );
  tf.dump_stack( );

  if ( level < 12 )
    f2();

}

void f1( bool die )
{
  TraceFct tf( "f1" );

  f2();

  if ( die )
    tf.exit( 1, "f1 exit: line1\nf1 exit: line2, extra newline\n" );
}

int main( int argc, char * argv[] )
{
  TraceFct tf( argv[0], 0, -1 );

  if ( argc > 1 )
    tf.open( argv[1] );

  f1( argc > 2 );

  tf.close( );
  
  tf.message( "main stack dump\n" );
  tf.dump_stack( );

  return EXIT_SUCCESS;
}


Generated on Mon Oct 20 13:55:17 2008 for tracefctxx by  doxygen 1.5.6