HP 3000 Manuals

UF [ System Debug Reference Manual ] MPE/iX 5.0 Documentation


System Debug Reference Manual

UF 

Debug only 

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

Syntax 

      UFC   logaddr  [bytelength]            Program file
      UFCG  logaddr  [bytelength]            Group library
      UFCP  logaddr  [bytelength]            Account library
      UFCLG logaddr                          Logon group library
      UFCLP logaddr                          Logon account library
      UFCS  logaddr  [bytelength]            System library
      UFCU  fname logaddr [bytelength]       User library

      UFCA  cmabsaddr                        Absolute CST
      UFCAX cmabsaddr                        Absolute CSTX

      UFDA  dst.off                          CM data segment

      UFVA  virtaddr [bytelength]            Virtual address

These unfreeze commands actually decrement a system freeze count.  The
segment or pages may remain frozen if their freeze count is still
positive.

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

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

                  *  As a long pointer (LPTR):

                     UFC 23.2644      sid.offset or seg.offset 

                     The logical file is determined based on the command
                     suffix.  For example:
                       UFC implies PROG.
                       UFCG implies GRP.
                       UFCS implies SYS, and so on.

                  *  As a short pointer (SPTR):

                     UFC 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:

                 UFC              Full search path:
                                    NM: PROG, GRP, PUB, USER(s), SYS.
                                    CM: PROG, GRP, PUB, LGRP, LPUB, SYS.
                 UFCG             Search GRP, the group library.
                 UFCP             Search PUB, the account library.
                 UFCLG            Search LGRP, the logon group library.
                 UFCLP            Search LPUB, the logon account library.
                 UFCS             Search SYS, the system library.
                 UFCU             Search USER, the user library.

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

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

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

                 In this case, it is necessary to specify the desired NM
                 USER library, for example:

                      UFCU lib1 204c
                      UFCU 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.

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

                     UC 2644          Implicit CST 23.2644
                     UCAX 5.3204      Implicit CSTX 5.3204

                  *  As a full absolute code pointer (ACPTR):

                     UCA  CST(2.200)                 Explicit CST
                                                     coercion.
                     UCAX CSTX(2.200)                Explicit CSTX
                                                     coercion.
                     UCAX logtoabs(prog(1.20))       Explicit absolute
                                                     conversion.

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

                 UCA              GRP, PUB, LGRP, LPUB, SYS
                 UCAX             PROG

dst.off          A data segment address (specified as dst.offset) of the
                 data segment to be unfrozen in memory (see the FDA
                 command).

virtaddr         The starting virtual address of the page(s) that are to
                 be unfrozen in memory.  (Refer to the FVA command.)
                 Virtaddr can be a short pointer, a long pointer, or a
                 full logical code pointer.

 bytelength      This parameter is valid only for nmdebug.  It is the
                 desired number of bytes to be unfrozen.  Based on the
                 starting virtual address and the specified bytelength,
                 the appropriate number of virtual pages are unfrozen.
                 If omitted, four bytes is used as a default.  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 one byte, the whole
                 page on which that byte resides is made resident.

Examples 

     %cmdebug > ufc sys(12.0) 

Unfreeze CM logical code segment SYS %12.

     $nmdebug > ufva 22.104, 1000 

Unfreeze 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