Interpreting the information
When you look at the data produced by the GTFTRACE command, consider the following points:
- If the control block consists completely of zeros, it is possible that an error occurred while copying data from the user's address space. This could be because an invalid address was passed.
- If the first part of the control block contains non-null data, but the rest consists of zeros, it is again possible that an error occurred while copying data from the user's address space, for example, the control block was not placed entirely within valid storage. This could also be due to the control block not being initialized correctly.
- If the error has occurred on exit from WebSphere MQ, it is possible that WebSphere MQ could not write the data to the user's address space. The data displayed is the version that it was attempting to copy to the user's address space.
The control blocks traced
Table 11 illustrates which control blocks are traced for different MQI calls.
Table 11. Control blocks traced for WebSphere MQ MQI calls MQI call Entry Exit MQOPEN MQOD MQOD MQCLOSE None None MQPUT MQMD, MQPMO, and the first 256 bytes of message data MQMD, MQPMO, and the first 256 bytes of message data MQPUT1 MQMD, MQOD, MQPMO, and the first 256 bytes of message data MQMD, MQOD, MQPMO, and the first 256 bytes of message data MQGET MQMD, MQGMO MQMD, MQGMO, and the first 256 bytes of message data MQINQ Selectors (if SelectorCount is greater than 0) Selectors (if SelectorCount is greater than 0) Integer attributes (if IntAttrCount is greater than 0)
Character attributes (if CharAttrLength is greater than 0)
MQSET Selectors (if SelectorCount is greater than 0) Integer attributes (if IntAttrCount is greater than 0)
Character attributes (if CharAttrLength is greater than 0)
Selectors (if SelectorCount is greater than 0) Integer attributes (if IntAttrCount is greater than 0)
Character attributes (if CharAttrLength is greater than 0)
Note:In the special case of an MQGET call with the WAIT option, a double entry is seen if there is no message available at the time of the MQGET request, but a message subsequently becomes available before the expiry of any time interval specified.This is because, although the application has issued a single MQGET call, the adapter is performing the wait on behalf of the application and when a message becomes available it reissues the call. So in the trace it will appear as a second MQGET call.
Information about specific fields of the queue request parameter list is also produced in some circumstances. The fields in this list are identified as follows:
Identifier Description BufferL Buffer length CompCode Completion code CharAttL Character attributes length DataL Data length Hobj Object handle IntAttC Count of integer attributes pObjDesc Object descriptor Options Options pBuffer Address of buffer pCharAtt Address of character attributes pECB Address of ECB used in get pGMO Address of get message options pIntAtt Address of integer attributes pMsgDesc Address of message descriptor pPMO Address of put message options pSelect Address of selectors Reason Reason code RSVn Reserved for IBM SelectC Selector count Thread Thread UOWInfo Information about the unit of work Userid CICS or IMS user ID, for batch or TSO this is zero