| Summary | By setting the environment variable IT_SHLIB_VERBOSE, the loading of each plugin will be logged to standard output. |
|---|---|
| Article Number | 29386 |
| Environment | Orbix C 6.3.X All Supported Platforms |
| Question/Problem Description |
How can I get more information about libraries loading in my application? |
| Clarifying Information | |
| Error Message | |
| Defect/Enhancement Number | |
| Cause | |
| Resolution | Orbix is built using the ART architecture. ART, the Adaptive Runtime Technology is Orbix's modular, distributed architecture which supports dynamic deployment and configuration of services and application code. Using the ART architecture, C libraries can be loaded dynamically as needed by an application. By setting the IT_SHLIB_VERBOSE variable we can trace which plugin libraries are loaded and when they are loaded. When this environment variable is set the Orbix services and applications will log information messages to the standard output each time a shared library is loaded. Also, using this setting it is much easier to trace any errors from a shared library which can not be found. In a Windows environment set this by setting IT_SHLIB_VERBOSE = 1 as an environment variable or from the command prompt with set IT_SHLIB_VERBOSE=1. In a Unix environment set this using the commands: IT_SHLIB_VERBOSE=1 export IT_SHLIB_VERBOSE When IT_SHLIB_VERBOSE is set a log message will be made each time that a shared library is loaded. A library may be loaded because it is mandatory such as it_arm. A library may be loaded from the orb_plugins or bindings configuration in the Orbix configuration. For example, it_iiop is normally configured to be used from the Orbix configuration. A library may also be loaded from a specified configuration scope or application. A library may be loaded because it is a prerequisite for a library which is being loaded. For example loading it_iiop will cause it_atli2 to also be loaded. A library may also be loaded when a certain module is referenced in a program. For example, using a POA programming object will cause the it_poa class to be loaded. Example: bash-2.05a$ IT_SHLIB_VERBOSE=1 bash-2.05a$ export IT_SHLIB_VERBOSE
bash-2.05a$ ./myProcess
[IT_Shlib_Init, thread 1] it_ifc.5:initializing ...
[IT_Shlib_Init, thread 1] it_ifc.5:patch level: 2
[IT_Shlib_Init, thread 1] it_ifc.5:initialization complete.
[IT_Shlib_Init, thread 1] it_art.5:initializing ...
[IT_Shlib_Init, thread 1] it_art.5:patch level: 2
[IT_Shlib_Init, thread 1] it_art.5:initialization complete.
[IT_Shlib_Init, thread 1] it_admin.5:initializing ...
[IT_Shlib_Init, thread 1] it_admin.5:patch level: 1
|
| Workaround | |
| Notes | |
| Attachment |
| Created date: | 29 February 2012 |
|---|---|
| Last Modified: | 13 February 2013 |
| Last Published: | 14 March 2012 |
| First Published date: | 09 March 2012 |
#Orbix
#KnowledgeDocs