Debug properties

Properties to use to enable ORB traces.

Attention: Do not enable tracing for normal operation, because it might cause a performance degradation. First Failure Data Capture (FFDC) still works when tracing is turned off, which means that serious errors are reported. If a debug file is produced, examine it for issues. For example, the server might have stopped without performing an ORB.shutdown().
You can use the following properties to enable the ORB traces:
  • com.ibm.CORBA.Debug:
    Table 1. Debug property values
    Property value Trace output information
    false [default] Tracing is disabled, so no information is recorded.
    true Tracing is enabled. The output contains messages and traces for the entire ORB code flow
    Note: If you use this property without specifying a value, tracing is enabled.
  • com.ibm.CORBA.Debug.Component: This property generates trace output only for specific Object Request Broker (ORB) subcomponents. The following subcomponents can be specified:
    • DISPATCH
    • MARSHAL
    • TRANSPORT
    • CLASSLOADER
    • ALL
    When you want to trace more than one of these subcomponents, each subcomponent must be separated by a comma.
    Here is an example of common usage:
    java -Dcom.ibm.CORBA.Debug=true -Dcom.ibm.CORBA.Debug.Output=trace.log 
    -Dcom.ibm.CORBA.Debug.Component=DISPATCH
    -Dcom.ibm.CORBA.CommTrace=true <classname>
    Note: The example provided is a single line, entered on the command line.
  • com.ibm.CORBA.Debug.Output: This property redirects traces to a file, which is known as a trace log. When this property is not specified, or it is set to an empty string, the file name defaults to the format orbtrc.DDMMYYYY.HHmm.SS.txt, where D=Day; M=Month; Y=Year; H=Hour (24 hour format); m=Minutes; S=Seconds. If the application (or Applet) does not have the privilege that it requires to write to a file, the trace entries go to stderr.
  • com.ibm.CORBA.CommTrace: This property turns on wire tracing, also known as Comm tracing. Every incoming and outgoing GIOP message is sent to the trace log. You can set this property independently from Debug. This property is useful if you want to look only at the flow of information, and you are not interested in debugging the internals. The only two values that this property can have are true and false. The default is false.
  • Here is an example of common usage:
    java -Dcom.ibm.CORBA.Debug=true -Dcom.ibm.CORBA.Debug.Output=trace.log
    -Dcom.ibm.CORBA.Debug.Component=DISPATCH
    -Dcom.ibm.CORBA.CommTrace=true <classname>
Note: The example provided is a single line, entered on the command line.
For rmic -iiop or rmic -idl, the following diagnostic tools are available:
  • -J-Djavac.dump.stack=1: This tool ensures that all exceptions are caught.
  • -Xtrace: This tool traces the progress of the parse step.
If you are working with an IBM® SDK, you can obtain CommTrace for the transient name server (tnameserv) by using the standard environment variable IBM_JAVA_OPTIONS. In a separate command session to the server or client SDKs, you can use:
export IBM_JAVA_OPTIONS=-Dcom.ibm.CORBA.CommTrace=true -Dcom.ibm.CORBA.Debug=true
or the equivalent platform-specific command.
Note: Start of changes for service refresh 5 fix pack 26The IBM_JAVA_OPTIONS environment variable is deprecated and will be removed from a future release of the Eclipse OpenJ9 VM. Use the OPENJ9_JAVA_OPTIONS environment variable instead. End of changes for service refresh 5 fix pack 26
The setting of this environment variable affects each Java™ process that is started, so use this variable carefully. Alternatively, you can use the -J option to pass the properties through the tnameserv wrapper, as follows:
tnameserv -J-Dcom.ibm.CORBA.Debug=true