HP 3000 Manuals

Fmm (freeze) [ System Debug Reference Manual ] MPE/iX 5.0 Documentation


System Debug Reference Manual

Fmm (freeze) 

Debug only 

Privileged Mode 

Freezes a code segment, data segment, or virtual address (range) in
memory.

Syntax 

     FC     logaddr   [bytelength]         Program file
     FCG    logaddr   [bytelength]         Group library
     FCP    logaddr   [bytelength]         Account library
     FCLG   logaddr   [bytelength]         Logon group library
     FCLP   logaddr   [bytelength]         Logon account library
     FCS    logaddr   [bytelength]         System library
     FCU   fname logaddr    [bytelength]    User library

     FCA    cmabsaddr                   CM absolute CST
     FCAX   cmabsaddr                   CM absolute CST

     FDA    dstoff                       CM data segment

     FVA    virtaddr    [bytelength]        Virtual address

Parameters 

logaddr          A full logical code address (LCPTR) specifies three
                 necessary items:
                  *  the logical code file (PROG, GRP, SYS, and so on).
                  *  NM: the virtual space ID number (SID).
                     CM: the logical segment number.
                  *  NM: the virtual byte offset within the space.
                     CM: the word offset within the code segment.

                 Logical code addresses can be specified in various
                 levels of detail:

                  *  As a full logical code pointer (LCPTR):

                     FC procname+20      Procedure name lookups return
                                         LCPTRs.
                     FC pw+4             Predefined ENV variables of type
                                         LCPTR.
                     FC SYS(2.200)       Explicit coercion to a LCPTR
                                         type.

                  *  As a long pointer (LPTR):

                     FC 23.2644       sid.offset or seg.offset 

                     The logical file is determined based on the command
                     suffix:
                       FC  implies PROG.
                       FCG  implies GRP.
                       FCS  implies SYS, and so on.

                  *  As a short pointer (SPTR):

                     FC 1024          offset only

                     For NM, the short pointer offset is converted to a
                     long pointer using the function STOLOG, which looks
                     up the SID of the loaded logical file.  This is
                     different from the standard short to long pointer
                     conversion, STOL, which is based on the current
                     space registers (SRs).

                     For CM, the current executing logical segment number
                     and the current executing logical file are used to
                     build a LCPTR.

                 The search path used for procedure name lookups is based
                 on the command suffix letter:

                 FC            Full search path:
                                 NM: PROG, GRP, PUB, USER(s), SYS.
                                 CM: PROG, GRP, PUB, LGRP, LPUB, SYS.
                 FCG           Search GRP, the group library.
                 FCP           Search PUB, the account library.
                 FCLG          Search LGRP, the logon group library.
                 FCLP          Search LPUB, the logon account library.
                 FCS           Search SYS, the system library.
                 FCU           Search USER, the user library.

                 For a full description of logical code addresses, refer
                 to the section "Logical Code Addresses" in chapter 2.

cmabsaddr        A full CM absolute code address specifies three
                 necessary items:
                  *  Either the CST or the CSTX.
                  *  The absolute code segment number.
                  *  The CM word offset within the code segment.

                 Absolute code addresses can be specified in two ways:

                  *  As a long pointer (LPTR):

                     FCA 23.2644   Implicit CST 23.2644
                     FCAX 5.3204   Implicit CSTX 5.3204

                  *  As a full absolute code pointer (ACPTR):

                     FCA  CST(2.200)        Explicit CST coercion
                     FCAX CSTX(2.200)       Explicit CSTX coercion
                     FCAX                   Explicit absolute conversion
                     logtoabs(prog(1.20))

                 The search path used for procedure name lookups is based
                 on the command suffix letter:

                 FCA              GRP, PUB, LGRP, LPUB, SYS
                 FCAX             PROG

fname            The file name of the NM USER library.  Since multiple NM
                 libraries can be bound with the XL= option on a :RUN
                 command,

                      :run nmprog; xl=lib1,lib2.testgrp,lib3 

                 it is necessary to specify the desired NM user library.
                 For example,

                      FCU lib1 204c
                      FCU lib2.testgrp test20+1c0

                 If the file name is not fully qualified, the following
                 defaults are used:
                   Default account:  the account of the program file.
                   Default group:  the group of the program file.

dstoff           A data segment address (specified as DST.OFFSET) of the
                 data segment to be frozen in memory.  The segment
                 remains frozen until it is explicitly unfrozen (see UDA
                 command).

virtaddr         The starting virtual address of the page(s) that are to
                 be frozen in memory.  The pages remain frozen until they
                 are explicitly unfrozen (see UVA command).  Virtaddr can
                 be a short pointer, a long pointer, or a full logical
                 code pointer.

 bytelength      This parameter is valid only when in nmdebug.  It
                 indicates the desired number of bytes to be frozen.
                 Based on the starting virtual address and the specified
                 bytelength, the appropriate number of virtual pages are
                 frozen.  If omitted, the default is four bytes.  The
                 implementation of this command dictates that the
                 smallest unit that is actually frozen is one page of
                 virtual memory.  That is, if you say 1 byte, the whole
                 page on which that byte resides is made resident.

Examples 

     %cmdebug > fc cmpc 

Freeze the current CM code segment, as indicated by the CM logical
address CMPC.

     %cmdebug > fcs sys(12.0) 

Freeze CM logical code segment SYS 12.

     $nmdebug > fva 22.104, #1000 

Freeze 1000 bytes starting at virtual address 22.104.

Limitations, Restrictions 

none


CAUTION The output format of all System Debug commands is subject to change without notice. Programs that are developed to postprocess System Debug output should not depend on the exact format (spacing, alignment, number of lines, uppercase or lowercase, or spelling) of any System Debug command output.


MPE/iX 5.0 Documentation