VMS Help ANALYZE, /OBJECT *Conan The Librarian (sorry for the slow response - running on an old VAX) |
Analyzes the contents of an object file. Also checks for any obvious errors. The /OBJECT qualifier is required. (Use the ANALYZE/IMAGE command to analyze the contents of an image file.) Format ANALYZE/OBJECT filespec[,...] filespec[,...] Specifies the object files or object module libraries you want analyzed (the default file type is OBJ). Use commas (,) or plus signs (+) to separate file specifications. The asterisk (*) and percent sign (%) wildcard characters are allowed in the file specification.
1 - Description |
The ANALYZE/OBJECT command describes the contents of one or more object modules contained in one or more files. It also performs a partial error analysis. This analysis determines whether all records in an object module conform in content, format, and sequence to the specifications of the Alpha or VAX object language. The ANALYZE/OBJECT command automatically distinguishes Alpha objects from VAX objects by examining the format of the extended object modules header (EOMH). ANALYZE/OBJECT is intended primarily for programmers of compilers, debuggers, or other software involving the operating system's object modules. It checks that the object language records generated by the object modules are acceptable to the Linker utility, and it identifies certain errors in the file. It also provides a description of the records in the object file or object module library. For more information on the linker and on the Alpha and VAX object languages, refer to the OpenVMS Linker Utility Manual. The ANALYZE/OBJECT command analyzes the object modules in order, record by record, from the first to the last record in the object module. Fields in each record are analyzed in order from the first to the last field in the record. After the object module is analyzed, you should compare the content and format of each type of record to the required content and format of that record as described by the OpenVMS Alpha or OpenVMS VAX object language. This comparison is particularly important if the analysis output contains a diagnostic message. Linking an object module differs from analyzing an object module. Object language commands are not executed in an analysis, but they are executed in a linking operation. As a result, even if the analysis is error free, the linking operation may not be. In particular, the analysis does not check the following: o That data arguments in TIR commands are in the correct format. o That "Store Data" TIR commands are storing within legal address limits. Therefore, as a final check, you should still link an object module whose analysis is error free. If an error is found, however, the first error of the worst severity that is discovered is returned. For example, if a warning (A) and two errors (B and C) are signaled, then the first error (B) is returned as the image exit status, which is placed in the DCL symbol $STATUS at image exit. ANALYZE/OBJECT uses positional qualifiers; that is, qualifiers whose function depends on their position in the command line. When a positional qualifier precedes all of the input files in a command line, it affects all input files. For example, the following command line requests that the analysis include the global symbol directory records in files A, B, and C: $ ANALYZE/OBJECT/GSD A,B,C Conversely, when a positional qualifier is associated with only one file in the parameter list, only that file is affected. For example, the following command line requests that the analysis include the global symbol directory records in file B only: $ ANALYZE/OBJECT A,B/GSD,C Typically, all records in an object module are analyzed. However, when the /DBG, /EOM, /GSD, /LNK, /MHD, /TBT, or /TIR qualifier is specified, only the record types indicated by the qualifiers are analyzed. All other record types are ignored. By default, the analysis includes all record types unless you explicitly request a limited analysis using appropriate qualifiers. Note End-of-module (EOM) records and module header (MHD) records are always analyzed, no matter which qualifiers you specify.
2 - Qualifiers |
2.1 - /DBG
/DBG Positional qualifier. Specifies that the analysis should include all debugger information records. If you want the analysis to include debugger information for all files in the parameter list, insert the /DBG qualifier immediately following the /OBJECT qualifier. If you want the analysis to include debugger information selectively, insert the /DBG qualifier immediately following each of the selected file specifications.
2.2 - /EOM
/EOM Positional qualifier. Specifies that the analysis should be limited to MHD records, EOM records, and records explicitly specified by the command. If you want this to apply to all files in the parameter list, insert the /EOM qualifier immediately following the /OBJECT qualifier. To make the /EOM qualifier applicable selectively, insert it immediately following each of the selected file specifications. Note End-of-module records can be EOM or EOMW records. See the OpenVMS Linker Utility Manual for more information.
2.3 - /GSD
/GSD Positional qualifier. Specifies that the analysis should include all global symbol directory (GSD) records. If you want the analysis to include GSD records for each file in the parameter list, specify the /GSD qualifier immediately following the /OBJECT qualifier. If you want the analysis to include GSD records selectively, insert the /GSD qualifier immediately following each of the selected file specifications.
2.4 - /INCLUDE
/INCLUDE[=(module[,...])] When the specified file is an object module library, use this qualifier to list selected object modules within the library for analysis. If you omit the list or specify an asterisk (*), all modules are analyzed. If you specify only one module, you can omit the parentheses.
2.5 - /INTERACTIVE
/INTERACTIVE /NOINTERACTIVE (default) Controls whether the analysis occurs interactively. In interactive mode, as each record is analyzed, the results are displayed on the screen, and you are asked whether you want to continue.
2.6 - /LNK
/LNK Positional qualifier. Specifies that the analysis should include all link option specification (LNK) records. If you want the analysis to include LNK records for each file in the parameter list, specify the /LNK qualifier immediately following the /OBJECT qualifier. If you want the analysis to include LNK records selectively, insert the /LNK qualifier immediately following each of the selected file specifications.
2.7 - /MHD
/MHD Positional qualifier. Specifies that the analysis should be limited to MHD records, EOM records, and records explicitly specified by the command. If you want this analysis to apply to all files in the parameter list, insert the /MHD qualifier immediately following the /OBJECT qualifier. To make the /MHD qualifier applicable selectively, insert immediately following each of the selected file specifications.
2.8 - /OUTPUT
/OUTPUT[=filespec] Directs the output of the object analysis (the default is SYS$OUTPUT). If you specify a file type and omit the file name, the default file name ANALYZE is used. The default file type is ANL. The asterisk (*) and the percent sign (%) wildcard characters are not allowed in the file specification.
2.9 - /SELECT
/SELECT=(keyword[,...]) Allows for the collection of specific image or object file information and displays the selected keyword items in the order specified. The keywords are as follows: Keyword Description ARCHITECTURE Returns "OpenVMS Alpha" if the file is either an OpenVMS Alpha image or object file. Returns "OpenVMS VAX" if the file is either an OpenVMS VAX image or object file. Otherwise, returns "Unknown". BUILD_ For OpenVMS Alpha image files, returns the image build IDENTIFICATION identification stored in the image header, enclosed in quotation marks. For OpenVMS VAX image files, the null string that is represented by adjacent quotation marks is returned. Otherwise, returns "Unknown". FILE_TYPE Returns "Image" if the file is an OpenVMS VAX or Alpha image file. Returns "Object" if the file is an OpenVMS VAX or Alpha object file. Otherwise, returns "Unknown". IDENTIFICATION For both OpenVMS Alpha and VAX image files, returns the image identification that is stored in the image header, enclosed in quotation marks. Otherwise, returns "Unknown". IMAGE_TYPE Returns "Shareable" if the file is either an OpenVMS Alpha or OpenVMS VAX sharable image file. Returns "Executable" if the file is either an OpenVMS Alpha or OpenVMS VAX executable (nonsharable) image file. Otherwise, returns "Unknown". LINK_TIME For both OpenVMS Alpha and VAX image files, returns the image link time that is stored in the image header, enclosed in quotation marks. Otherwise, returns "Unknown". NAME For both OpenVMS Alpha and VAX image files, returns the image name that is stored in the image header, enclosed in quotation marks. Otherwise, returns "Unknown".
2.10 - /TBT
/TBT Positional qualifier. Specifies that the analysis should include all module traceback (TBT) records. If you want the analysis to include TBT records for each file in the parameter list, specify the /TBT qualifier immediately following the /OBJECT qualifier. If you want the analysis to include TBT records selectively, insert the /TBT qualifier immediately following each of the selected file specifications.
2.11 - /TIR
/TIR Positional qualifier. Specifies that the analysis should include all text information and relocation (TIR) records. If you want the analysis to include TIR records for each file in the parameter list, specify the /TIR qualifier immediately following the /OBJECT qualifier. If you want the analysis to include TIR records selectively, insert the /TIR qualifier immediately following the selected file specifications.
3 - Examples |
1.$ ANALYZE/OBJECT/INTERACTIVE LINEDT In this example, the ANALYZE/OBJECT command produces a description and a partial error analysis of the object file LINEDT.OBJ. By default, all types of records are analyzed. Output is to the terminal because the /INTERACTIVE qualifier has been used. As each item is analyzed, the utility displays the results on the screen and asks if you want to continue. 2.$ ANALYZE/OBJECT/OUTPUT=LIOBJ/DBG LINEDT In this example, the ANALYZE/OBJECT command analyzes only the debugger information records of the file LINEDT.OBJ. Output is to the file LIOBJ.ANL. 3.$ ANALYZE/OBJECT/SELECT=(ARCH,FILE) *.OBJ DISK:[DIRECTORY]ALPHA.OBJ;1 OpenVMS ALPHA Object DISK:[DIRECTORY]MISNAMED.OBJ;1 Unknown Unknown DISK:[DIRECTORY]VAX.OBJ;1 OpenVMS VAX Object This example displays the information requested about the object file, ALPHA.OBJ, the unknown file, MISNAMED.OBJ, and the object file, VAX.OBJ.
|