[Digital logo]
[HR]

OpenVMS DCL Dictionary


Previous | Contents

If you specify the /FIXUP_SECTION qualifier after the ANALYZE/IMAGE command, the fixup section of each image file in the parameter list is analyzed.

If you specify the /FIXUP_SECTION qualifier after a file specification, only the information in the fixup section of that image file is analyzed.

/GST

Positional qualifier.

Specifies that the analysis should include all global symbol table records. This qualifier is valid only for shareable images.

If you specify the /GST qualifier after the ANALYZE/IMAGE command, the global symbol table records of each image file in the parameter list are analyzed.

If you specify the /GST qualifier after a file specification, only the global symbol table records of that file are analyzed.

/HEADER

Positional qualifier.

Specifies that the analysis should include all header items and image section descriptions. The image header items are always analyzed.

/INTERACTIVE

/NOINTERACTIVE (default)

Specifies whether the analysis is interactive. In interactive mode, as each item is analyzed, the results are displayed on the screen and you are asked whether you want to continue.

/OUTPUT=filespec

Identifies the output file for storing the results of the image analysis. The asterisk (*) and the percent sign (%) wildcard characters are not allowed in the file specification. If you specify a file type and omit the file name, the default file name ANALYZE is used. The default file type is .ANL. If you omit the qualifier, the results are output to the current SYS$OUTPUT device.

/PATCH_TEXT

Positional qualifier.

Specifies that the analysis include all patch text records. If you specify the /PATCH_TEXT qualifier after the ANALYZE/IMAGE command, the patch text records of each image file in the parameter list are analyzed.

If you specify the /PATCH_TEXT qualifier after a file specification, only the patch text records of that file are analyzed.


Examples

#1
$ ANALYZE/IMAGE  LINEDT

The ANALYZE/IMAGE command in this example produces a description and an error analysis of the image LINEDT.EXE. Output is sent to the current SYS$OUTPUT device. By default, the entire image is analyzed.

#2
$ ANALYZE/IMAGE/OUTPUT=LIALPHEX/FIXUP_SECTION/PATCH_TEXT  LINEDT, ALPRIN

The ANALYZE/IMAGE command in this example produces a description and an error analysis of the fixup sections and patch text records of LINEDT.EXE and ALPRIN.EXE in file LIALPHEX.ANL. Output is sent to the file LIALPHEX.ANL.


ANALYZE/MEDIA

Invokes the Bad Block Locator utility, which analyzes block-addressable devices and records the location of blocks that cannot reliably store data. For a complete description of the Bad Block Locator utility, see the OpenVMS Bad Block Locator Utility Manual.

Format

ANALYZE/MEDIA device


ANALYZE/OBJECT

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[,...]


PARAMETER

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 the percent sign (%) wildcard characters are allowed in the file specification.

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:

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.


QUALIFIERS

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

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

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

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

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

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

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

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

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

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


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.


ANALYZE/PROCESS_DUMP

Invokes the OpenVMS Debugger to analyze a process dump file that was created when an image failed during execution. (Use the /DUMP qualifier with the RUN or the SET PROCESS command to generate a dump file.)

The ANALYZE/PROCESS_DUMP command can display a process dump file for either an Alpha or a VAX image. For a complete description of the debugger, including information about the DEBUG command, see the OpenVMS Debugger Manual.

Requires read (R) access to the dump file.


Format

ANALYZE/PROCESS_DUMP dump-file


PARAMETER

dump-file

Specifies the dump file to be analyzed with the debugger.

DESCRIPTION

The ANALYZE/PROCESS_DUMP command examines the dump file of an image that failed during execution. The OpenVMS Debugger is invoked automatically. To cause a dump file to be created for a process, you must use the /DUMP qualifier with the RUN command when invoking the image, or you must use the SET PROCESS/DUMP command before invoking the image.

Note

Digital strongly recommends that you analyze a process dump on the system where the dump was generated. It is highly unlikely that you can analyze a dump successfully if you move the dump file to a different system.

Different configurations can cause the process executing the ANALYZE/PROCESS_DUMP command to fail to successfully load the dumped image. For example, if the systems have different versions of the operating system, the analysis might work, but it is not guaranteed.


Other restrictions include the configuration of the control regions in P1 space, the process running at the time of the dump, and the process performing the ANALYZE/PROCESS_DUMP command. The location of the base of the user stack for each process, which depends upon the size of allocated space, determines whether the processes are compatible. The size of allocated space for the process analyzing the dump must be less than the size of allocated space for the process that created the dump. If you are analyzing the dump on a different system, but with the same version of the operating system, you can decrease the size of allocated space by modifying one or more of the system parameters that affect the size of allocated space.

You can modify the system parameter IMGIOCNT dynamically. Other parameters to adjust allocated space require a reboot of the system.

On Alpha systems, the SYSGEN parameter IMGREG_PAGES is likely to cause a problem with allocated size. When a dump comes from a system without DECwindows and is examined on a system with DECwindows, a P1 message is displayed. DECwindows requires IMGREG_PAGES to be at least 2000 pages, which means that the value is too large by 1200 to 1400 pages.

Also on Alpha systems, in some cases, the OpenVMS Debugger is incapable of analyzing the dumped image. For example, when the dumped image's PC is set to an invalid address or when the dumped image's stack is corrupted by a bad process descriptor, you must use the Delta Debugger (DELTA) to analyze the dump. To use DELTA as the debugger, you must install the SYS$LIBRARY:DELTA image by invoking the Install utility. For complete information on the Install utility, see the OpenVMS System Management Utilities Reference Manual.


QUALIFIERS

/FULL

Displays all known information about the failing process.

/IMAGE=image-name

/NOIMAGE

Specifies the image to be activated to set up the process context for the analysis. If you use the /NOIMAGE qualifier, the DELTA debugger will be used for the analysis.

By default on VAX systems, symbols are taken from the image with the same name as the image that was running at the time of the dump.

On Alpha systems, the image file supplies more than just symbols. Therefore, you must supply the image that created the dump file. Use one of the following methods:

/INTERACTIVE

/NOINTERACTIVE (default)

Causes the display of information to pause when your terminal screen is filled. Press the Return key to display additional information. By default, the display is continuous.

/MISCELLANEOUS

Displays process information and registers at the time of the dump. Refer to the $GETJPI system service for further explanation of the process information displayed.

/RELOCATION

Displays the addresses to which data structures saved in the dump are mapped in P0 space. (Examples of such data structures are the stacks.) The data structures in the dump must be mapped into P0 space so that the debugger can use those data structures in P1 space.

Examples

#1
$ ANALYZE/PROCESS/FULL ZIPLIST
 R0 = 00018292  R1 = 8013DE20  R2 = 7FFE6A40   R3 = 7FFE6A98 
 R4 = 8013DE20  R5 = 00000000  R6 = 7FFE7B9A   R7 = 0000F000 
 R8 = 00000000  R9 = 00000000  R10 = 00000000  R11 = 00000000 
 SP = 7FFAEF44  AP = 7FFAEF48  FP  = 7FFAEF84 
 FREE_P0_VA  00001600    FREE_P1_VA  7FFAC600 
 Active ASTs  00         Enabled ASTs 0F 
 Current Privileges  FFFFFF80  1010C100 
 Event Flags  00000000  E0000000 
 Buffered I/O count/limit 6/6 
 Direct I/O count/limit   6/6 
 File count/limit         27/30 
 Process count/limit      0/0 
 Timer queue count/limit  10/10 
 AST count/limit          6/6 
 Enqueue count/limit      30/30 
 Buffered I/O total 7      Direct I/O total 18 
 
 Link Date  27-DEC-1994 15:02:00.48   Patch Date  17-NOV-1994 00:01:53.71 
 ECO Level  0030008C  00540040  00000000  34303230 
 Kernel stack 00000000 pages at 00000000 moved to 00000000 
 Exec stack 00000000 pages at 00000000 moved to 00000000 
 Vector page 00000001 page at 7FFEFE00 moved to 00001600 
 PIO (RMS) area 00000005 pages at 7FFE1200 moved to 00001800
 Image activator context 00000001 page at 7FFE3400 moved to 00002200 
 User writable context 0000000A pages at 7FFE1C00 moved to 00002400 
Creating a subprocess 
         VAX DEBUG Version 5.4 
DBG>
 

This example shows the output of the ANALYZE/PROCESS command when used with the /FULL qualifier on a VAX system. The file specified, ZIPLIST, contains the dump of a process that encountered a fatal error. The DBG> prompt indicates that the debugger is ready to accept commands.

#2
$ ANALYZE/PROCESS/FULL ARITH.DMP
 R0  = 000000000000000F R1  = 0000000000000001 R2  = 0000000000010000 
 R3  = 000000007FF41E14 R4  = 000000007FFBF80C R5  = 000000007FFBF91C 
 R6  = 000000007FFA0D34 R7  = 000000007FFA0D34 R8  = 000000007FFA05F8 
 R9  = 000000007FFA0800 R10 = 000000007FFA1380 R11 = 000000007FFBE3E0 
 R12 = 0000000000000004 R13 = FFFFFFFF84EF3730 R14 = 0000000000000000 
 R15 = 0000000000000000 R16 = 00000000002D4EC8 R17 = 0000000100000000 
 R18 = 00000000002D4EAE R19 = 0000000000000000 R20 = 0000000000000000 
 R21 = 0000000000000000 R22 = 002D559100000000 R23 = 00000000002D5591 
 R24 = 002D559100000000 R25 = 0000000000000003 R26 = 0000000000020040 
 R27 = 0000000000032AA0 R28 = 0000000000052DA0 AP  = 000000007FE6F6F0 
 FP  = 000000007FE6FA20 SP  = 000000007FE6FA20 PC  = 0000000000020048 
 
 FREE_P0_VA  002F6000  FREE_P1_VA  7FE68000 
 Active ASTs  00  Enabled ASTs 0F 
 Current Privileges  00000000  00108000 
 Event Flags  00000000  E0000000 
 Buffered I/O count/limit 100/100 
 Direct I/O count/limit   100/100 
 File count/limit         98/100 
 Process count/limit      0/0 
 Timer queue count/limit  10/10 
 AST count/limit          98/100 
 Enqueue count/limit      600/600 
 Buffered I/O total 118     Direct I/O total 37 
 
 Link Date   14-DEC-1994 13:06:06.72 
 
 Kernel stack 00000000 pagelets at 00000000 moved to 00000000 
 Exec stack 00000000 pagelets at 00000000 moved to 00000000 
 Vector page 00000002 pagelet at 7FFF0000 moved to 002F6000 
 PIO (RMS) area 00000000 pagelets at 00000000 moved to 00000000 
 Image activator context 00000001 pagelet at 7FFD0E00 moved to 002F8000 
 User writeable context 00000008 pagelets at 7FFC0000 moved to 002FA000 
 
Condition signalled to take dump: 
%SYSTEM-F-HPARITH, high performance arithmetic trap, Imask=00000000, 
-Fmask=00000001, summary=04, PC=00020048, PS=0000001B 
-SYSTEM-F-FLTDIV, arithmetic trap, floating/decimal divide by zero 
-at PC=00020048, PS=0000001B 
 
         OpenVMS Alpha DEBUG Version T1.0-FT4 
%DEBUG-I-NOLOCALS, image does not contain local symbols 
%DEBUG-I-NOGLOBALS, some or all global symbols not accessible 
%DEBUG-I-NOUNIVERSALS, shareable image contains no universal symbols 
%DEBUG-I-INITIAL, language is UNKNOWN, module set to SHARE$ARITH 
DBG>

This example shows the output of the ANALYZE/PROCESS command when used with the /FULL qualifier on an Alpha system.

#3
$ INSTALL
INSTALL> ADD SYS$LIBRARY:DELTA
INSTALL> EXIT
$ DEFINE LIB$DEBUG DELTA 
$ ANALYZE/PROCESS/FULL PCFS_SERVER.DMP
 R0  = 004558452E524556 R1  = 00000000004F1080  R2  = 000000000000048C 
 R3  = 0000000000000000 R4  = 0000000000000000  R5  = 0000000000000001 
 R6  = 0000000000F380C0 R7  = 00000000000000E9  R8  = 00000000002D3F70 
 R9  = 0000000000342FB8 R10 = 00000000002CE330  R11 = 0000000000000047 
 R12 = 00000000005107C0 R13 = 0000000000F38140  R14 = 0000000000D5D5C8 
 R15 = 00000000000000F0 R16 = 000000000003793C  R17 = 00000000004F108C 
 R18 = 0000000000000000 R19 = 00000000004F1C00  R20 = 00000000004F1C00 
 R21 = FFFFFFFF8052C4B6 R22 = 0000000000000001  R23 = FFFFFFFF80042E90 
 R24 = 0000000000000001 R25 = 0000000000000000  R26 = 0000000000002000 
 R27 = 00000000000184A0 R28 = 0000000000000001  AP  = 0000000000F37E10 
 FP  = 0000000000DE0ED8 SP  = 0000000000F38110  PC  = 0000000000002000 
 
 FREE_P0_VA  00F50000           FREE_P1_VA  7FE6A000 
 Active ASTs  00                Enabled ASTs 0F 
 Current Privileges  FFFFFFFF  FFF7FFFF 
 Event Flags  80000000  E0000000 
 Buffered I/O count/limit 32758/32767 
 Direct I/O count/limit   32767/32767 
 File count/limit         32720/32767 
 Process count/limit      0/0 
 Timer queue count/limit  32763/32767 
 AST count/limit          32754/32767 
 Enqueue count/limit      32760/32767 
 Buffered I/O total 17353137            Direct I/O total 333631 
 
 Link Date   8-SEP-1992 16:42:37.94 
 
 Kernel stack 00000020 pagelets at 7FF92000 moved to 00F50000 
 Exec stack 00000020 pagelets at 7FF96000 moved to 00F54000 
 Vector page 00000002 pagelet at 7FFF0000 moved to 00F58000 
 PIO (RMS) area 00000007 pagelets at 7FFD0000 moved to 00F5A000 
 Image activator context 00000001 pagelet at 7FFD0E00 moved to 00F5C000 
 User writeable context 00000008 pagelets at 7FFC0000 moved to 00F5E000 
 
Condition signalled to take dump: 
%SYSTEM-F-ACCVIO, access violation, reason mask=00, virtual 
address=00002000, PC=00002000, PS=0000001B 
 
AlphaVMS DELTA Version 1.5 
 
Exception - Signal reason = 0000000C 
 
00002000!

In this example, the SYS$LIBRARY:DELTA image is installed on an Alpha system by invoking the Install utility. Next, the logical LIB$DEBUG is defined as DELTA in order to use the Delta Debugger (DELTA). The ANALYZE/PROCESS_DUMP command displays exception information and then a prompt. You can analyze the stack or other information provided to you in the dump.


ANALYZE/RMS_FILE

Invokes the Analyze/RMS_File utility, which is used to inspect and analyze the internal structure of an OpenVMS RMS file. The /RMS_FILE qualifier is required. For a complete description of the Analyze/RMS_File utility, see the OpenVMS Record Management Utilities Reference Manual.

Format

ANALYZE/RMS_FILE filespec[,...]


ANALYZE/SYSTEM

Invokes the System Dump Analyzer utility, which analyzes a running system. The /SYSTEM qualifier is required. For a complete description of the System Dump Analyzer utility on Alpha, see the OpenVMS Alpha System Dump Analyzer Utility Manual. For a complete description of the System Dump Analyzer utility on VAX, see the OpenVMS VAX System Dump Analyzer Utility Manual.

Format

ANALYZE/SYSTEM


APPEND

Adds the contents of one or more specified input files to the end of the specified output file.

Format

APPEND input-filespec[,...] output-filespec


PARAMETERS

input-filespec[,...]

Specifies the names of one or more input files to be appended. Multiple input files are appended to the output file in the order specified. If you specify more than one input file, separate each file specification with either a comma (,) or a plus sign (+).

The asterisk (*) and the percent sign (%) wildcard characters are allowed in the input file specifications.

output-filespec

Specifies the name of the file to which the input files will be appended.

You must specify at least one field in the output file specification. If you do not specify a device or directory, the APPEND command uses the current default device and directory. Other unspecified fields default to the corresponding fields of the first input file specification.

If you use the asterisk (*) wildcard character in any fields of the output file specification, the APPEND command uses the corresponding field of the input file specification. If you are appending more than one input file, the APPEND command uses the corresponding fields from the first input file.


DESCRIPTION

The APPEND command is similar in syntax and function to the COPY command. Normally, the APPEND command adds the contents of one or more files to the end of an existing file without incrementing the version number. The /NEW_VERSION qualifier causes the APPEND command to create a new output file if no file with that name exists.

Note that there are special considerations for using the APPEND command with DECwindows compound documents. For more information, see the Guide to OpenVMS File Applications.


QUALIFIERS

/ALLOCATION=number-of-blocks

Forces the initial allocation of the output file to the specified number of 512-byte blocks. If you do not specify the /ALLOCATION qualifier, or if you specify it without the number-of-blocks parameter, the initial allocation of the output file is determined by the size of the input file.

The allocation size is applied only if a new file is actually created by using the /NEW_VERSION qualifier.

/BACKUP

Modifies the time value specified with the /BEFORE or the /SINCE qualifier. The /BACKUP qualifier selects files according to the dates of their most recent backups. This qualifier is incompatible with the /CREATED, /EXPIRED, and /MODIFIED qualifiers, which also allow you to select files according to time attributes. If you specify none of these four time qualifiers, the default is the /CREATED qualifier.

/BEFORE[=time]

Selects only those files dated prior to the specified time. You can specify time as absolute time, as a combination of absolute and delta times, or as one of the following keywords: BOOT, LOGIN, TODAY (default), TOMORROW, or YESTERDAY. Specify one of the following qualifiers with the /BEFORE qualifier to indicate the time attribute to be used as the basis for selection: /BACKUP, /CREATED (default), /EXPIRED, or /MODIFIED.


Previous | Next | Contents | [Home] | [Comments] | [Ordering info] | [Help]

[HR]

  9996P002.HTM
  OSSG Documentation
  26-NOV-1996 11:16:53.24

Copyright © Digital Equipment Corporation 1996. All Rights Reserved.

Legal