4.11 Tracing object serializations

When performing a remote invocation, one or more objects are serialized to be sent across the network connection. In some cases, large object graphs are serialized this way. Currently there is no way to specify a limitation on the serialization traversal (as is possible in the persistent store), and sometimes more objects than expected gets serialized, leading to unexpected errors. Most often the error message resulting is 'components not handled', that is triggered when trying to pack an active object (i.e. a component). A number of shellEnv attributes support the debugging of problems like these. These attributes are described below.

Serialization tracing is initiated by setting the TraceSer boolean to TRUE. When this has been done, the BeforeSer, AfterSer and AfterUnser virtuals are called as described below:

By further binding these virtuals, it is possible to trace what objects are serialized in remote calls. A simple dump of an object may be achieved using the printObject method found in ~beta/sysutils/objinterface.bet.


Distributed Objects in BETA - Reference Manual
© 1993-2004 Mjølner Informatics
[Modified: Monday October 23rd 2000 at 11:16]