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