[omniORB] debugging with omniORB

David Riddoch djr@uk.research.att.com
Thu, 14 Oct 1999 17:31:09 +0100 (GMT)


On Wed, 6 Oct 1999, Bruce Visscher wrote:

> > Are there other possibilities to get more verbose output ?
> > Especially, is there any way to log ref counting and similar
> > error prone things ?
> 
> The best I've been able to do, in genera, is to use the
> NP_RepositoryID(), if it's a CORBA::SystemException (if it's a user
> exception, you should be able to handle that yourself).

To help with this problem I have decided to add log messages each time a
system exception is thrown from the ORB runtime.  This is enabled when the
traceLevel is 10 or greater, and produces the following sort of output:

omniORB: throw COMM_FAILURE from tcpSocketMTfactory.cc:909


> The one problem that I've had with this is that by far the most frequent
> exception is CORBA::COMM_FAILURE ("is a" CORBA::SystemException), so
> just printing the name of the exception might not be that helpful (but
> it's better than nothing).

This new logging should help with this too, as you can go straight to the
spot in the sources where it was thrown -- which should give a bit more
info.

There a small space penalty.  If this really bothers you then defining the
pre-processor symbol OMNIORB_NO_EXCEPTION_LOGGING will remove all this
code and disable the logging.

NB. I have implemented this on omniORB v3 and have no plans to back-port 
it.  Too many other things to do!


Cheers,
David