The DATA function of the GTRACE macro records system or problem program data in the GTF trace buffers. GTRACE DATA can trace up to 8192 bytes of data.
Data is written only if you requested the event qualifier (through the USRP option) when you started GTF. Therefore, you can issue the GTRACE DATA without issuing a GTRACE TEST.
In earlier releases, GTRACE DATA writes the record to the GTF data set even if the record's event ID (EID) is excluded from a USRP list in the GTF trace options. Therefore, you need to issue a GTRACE TEST before you issue GTRACE DATA to determine if data is to be collected for the event qualifier.
The requirements for the caller are:
Environmental factor | Requirement |
---|---|
Minimum authorization: | Problem state, any PSW key |
Dispatchable unit mode: | Task or SRB |
Cross memory mode: | Any PASN, any HASN, any SASN; all data and parameters must reside in the home address space. |
AMODE: | 24- or 31- or 64-bit. The caller must be in 31-bit mode for GTRACE to record data above 16 megabytes. |
ASC mode: | Primary |
Interrupt status: | Enabled or disabled for I/O and external interrupts |
Locks: | No requirement |
Control parameters: | Must be in the primary address space |
None.
None.
Before issuing the GTRACE DATA macro, the caller does not have to place any information into any register unless using it in register notation for a particular parameter, or using it as a base register.
None.
The standard form of the DATA function of the GTRACE macro is coded as follows:
Syntax | Description |
---|---|
name | name: Symbol. Begin name in column 1. |
␢ | One or more blanks must precede GTRACE. |
GTRACE | |
␢ | One or more blanks must follow GTRACE. |
DATA=addr | addr: RX address or register (2) - (12). |
DATA64=addr | |
,LNG=nbr | nbr: Symbol, decimal number, hexadecimal number, or register (2) - (12). |
,ID=id | id: Symbol, decimal number, or hexadecimal number. |
,FID=fidname | fidname: Symbol, decimal number, hexadecimal number, or register (2) - (12). |
,PAGEIN=NO | Default: PAGEIN=NO |
,PAGEIN=YES | |
The parameters are explained as follows:
None.
When GTRACE DATA macro returns control to your program, GPR 15 contains a return code.
Hexadecimal Return Code | Meaning and Action |
---|---|
00 | Meaning: GTF is active. The data was recorded
in GTF trace buffers. Action: None. |
04 | Meaning: GTF is not active or not active
for this particular event ID. No data was recorded. Action: None. |
08 | Meaning: Program error. The value of the
LNG keyword is not valid. It must be a number from 1 through 8192.
No data was recorded. Action: Reissue the macro, specifying a valid amount of trace data to be recorded. |
0C | Meaning: Program error. The value of the
DATA keyword is not valid. It does not represent an area of storage
that the calling program can refer to. No data was recorded. Action: Correct the problem and reissue the macro. |
10 | Meaning: Program error. The value of the
FID keyword is not valid. It must be a number from X'0' through X'FF'.
No data was recorded. Action: Correct the problem and reissue the macro. |
18 | Meaning: Environmental condition. All GTF
buffers are full. No data was recorded. Action: None. |
1C | Meaning: Program error. The address of
the parameter list for GTF is not valid. The parameter list is not
in storage that the caller can refer to, or its format is not valid.
No data was recorded. Action: Correct the problem and reissue the macro. |
20 | Meaning: Program error. Some of the data
to be recorded was paged out. No data was recorded. This return code
is not valid with PAGEIN=YES. Action: Page-fix the storage containing the data to be recorded or modify the macro invocation to specify the PAGEIN=YES option. |
GTRACE DATA=AREA,LNG=200,ID=37,FID=X'40'