[an error occurred while processing this directive]

HP OpenVMS Systems

ask the wizard
Content starts here

Disassemble Executable Images, Objects?

» close window

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.)
 

answer written or last revised on ( 22-JUN-2002 )

» close window