DSRDMP - Dynamic Storage Region Analyser ======================================== Users' Guide ============ DSRDMP will produce a report on the current contents of DSR broken down into its constituent tables & lists. To run DSRDMP, both DSRDMP and DSRDM1 must be installed, and the user should then type RUN DSRDMP. DSRDMP invokes DSRDM1 to do the actual dump of DSR into its task space, and for this period (< 5 seconds) both jobs are non-checkpointable and run at a priority of 120. For the analysis of DSR, DSRDMP makes itself checkpointable and lowers its priority to 50. (DSRDM1 has exited by then.) DSRDMP will produce the report in a file called DSRDMP.REP on the disk SY: under the account it is run from. This report consists of several sections according to table type (e.g. TCB and its associated lists), each of which contains an itemization of each piece of DSR usage in that section and a total for each group item. At the end of the report an OCTAL/ASCII/RAD50 dump is produced of any unrecognised pieces of DSR, together (sometimes) with a guess at what each piece is. Note that it is often not possible to decode all of DSR as some areas are only pointed to by out-of-memory tasks (e.g. Window Blocks for Checkpointed tasks). It will also optionally create a file called DSRDMP.DMP under the current account on any device assigned to LUN 3 of DSRDMP (NL: by default) containing an OCTAL/ASCII/RAD50 dump of DSR, the Device Tables and F11ACP and its local buffers. DSRDM1/DSRDMP may produce the following error messages:- 1. DSRDM1 - No Packet received from DSRDMP DSRDM1 should never be activated unless requested by DSRDMP, in which case there will be a packet from DSRDMP queued to it. This was not the case, so DSRDM1 was probably run on its own, or DSRDMP was installed with a different taskname. 2. DSRDM1 - DSRDMP not active! DSRDM1 successfully dequeued a packet from DSRDMP, but when it tried to find DSRDMP's TCB address in the active task list it failed. Rerun DSRDMP, and if the problem persists - worry! 3. DSRDM1 - Open Error = %D on RSX11M.STB DSRDM1 expects the RSX11M.STB file for the current system to be in LB:[1,54]. Put it there and rerun DSRDMP. 4. DSRDM1 - Symbol xxxxxx not in RSX11M.STB DSRDM1 requires certain values from RSX11M.STB to allow it to map to the executive, but at least one of the symbols did not exist. As DSRDM1 usees only standard symbols there is probably something wrong with RSX11M.STB. 5. DSRDM1 - Amount to copy is %P bytes, truncated to 120000 DSRDM1 tries to copy all of LOWCR, SYSCM, SYSTB, DSR & F11ACP into DSRDMP, but this message indicates that the total of those areas exceeded 120000 (octal) bytes, which is the maximum buffer size for DSRDMP. The area that is truncated will be part of F11ACP and so hopefully will not be important. 6. DSRDMP - Send or Request Task for DSRDM1 failed - DSW = n DSRDMP either could not send a packet to, or request, its slave task DSRDM1. Usually this means that DSRDM1 was not installed (DSW = -2). 7. DSRDMP - Timeout while waiting for DSRDM1 DSRDMP allows DSRDM1 5 seconds to fill its buffer. If it has not received a reply from DSRDM1 within that period it issues this message and exits. 8. DSRDMP - Error = n returned by DSRDM1 The returned packet from DSRDM1 indicated an error had occurred. Currently the only error value returned is 1. 9. DSRDMP - Error = n on output file DSRDMP detected an error while trying to write to the output file. Determine what the error is, correct it and rerun DSRDMP. 10. DSRDMP - Address nnnnnn not in relocatable range, return address = mmmmmm This is a diagnostic message to say that one of the tables/lists used a pointer whose value was outside the ranges known to DSRDMP. nnnnnn is the value of the pointer and mmmmmm is the address of the routine which detected it. 11. DSRDMP - Open Error = n on RSX11M.STB DSRDMP requires access to the RSX11M.STB file for the current system, which it expects to be under LB:[1,54]. Put it there and rerun DSRDMP. 12. DSRDMP - Symbol nnnnnn not in RSX11M.STB DSRDMP requires several values from RSX11M.STB, some of which (e.g. $ACTHD) should always be there, and some of which (e.g. $UMRHD) will often not be. DSRDMP will attempt to continue without using the symbols it could not find. 13. DSRDMP - Job Complete DSRDMP has completed its job of creating the report files. 14. DSRDMP - SST Trap = n at PC nnnnnn, R0 = nnnnnn ... This indicates an internal programming error.