HP OpenVMS Systemsask the wizard |
The Question is: Is there any manual, white paper or whatever that describes the internal layout of an OpenVMS .obj file. Yes ... I am aware of ANALYZE/OBJ. We have need to analyze and compare .obj generations (much like ANALYSE/OBJ), but we would like to do within a C program so we need to know how to "walk" the object records. The Answer is : Please acquire and read the OpenVMS LINKER manual. Details are included in this manual. Also please acquire the OpenVMS source listings, as details on the debugger and the LINKER internals may (will?) be of interest. (Part numbers for the OpenVMS source listings are included in the OpenVMS FAQ.) The OpenVMS Wizard would initially discourage this approach, as it is highly dependent on the platform -- object formats can and do differ across all OpenVMS platforms -- and as it will not particularly easily solve your (details unstated) problem. As is typical of disassembly -- reverse engineering -- the intermediate object formats and executable images and shareable images do not lend themselves to extracting anything that even remotely resembles the original source code. Other approaches, such as use of the pragma module directive, might provide better alternative solution to the (unstated) problem. As usual, the OpenVMS Wizard would also encourage the practice of maintaining listings files and full maps. This makes it easier to track back to the source of run-time problems. (Also please see discussions elsewhere here in Ask The Wizard around the use of callable traceback within your application -- search for references to the SS$_DEBUG signal, and also please look at (1661). Of course, the OpenVMS Wizard is here assuming one of various possible motives for the question.)
|