Obtaining an ILE RPG Formatted Dump - IBM - RPG

To obtain an ILE RPG formatted dump (printout of storage) for a procedure while it is running, you can:

  • Code one or more DUMP operation codes in the calculation specifications
  • Respond to a run-time message with a D or F option. It is also possible to automatically reply to make a dump available.Refer to the “System Reply List” discussion in the CL Programming manual.

The formatted dump includes field contents, data structure contents, array and table contents, the file information data structures, and the program status data structure. The dump is written to the file called QPPGMDMP. (A system abnormal dump is written to the file QPSRVDMP.)

If you respond to an ILE RPG run-time message with an F option, the dump also includes the hexadecimal representation of the open data path (ODP, a data management control block).

The dump information includes the global data associated with the module. Depending on whether the main procedure is active, the global data may not represent the values assigned during processing of the *INZSR. If a program consists of more than one procedure, the information in the formatted dump also reflects information about every procedure that is active at the time of the dump request. If a procedure is not active, the values of variables in automatic storage will not be valid. If a procedure has not been called yet, the static storage will not be initialized yet. If a procedure has been called recursively, only the information for the most recent invocation will be shown.

There are two occasions when dump data may not be available:

  • If the program object was created with debug view *NONE. The dump will contain only the PSDS, file information, and the *IN indicators.
  • If a single variable or structure requires more than 16 MB of dump data. This typically occurs with variables or structures that are larger than 5 MB.

If you do not want a user to be able to see the values of your program’s variables in a formatted dump, do one of the following:

  • Ensure that debug data is not present in the program by removing observability.
  • Give sufficient authority to allow the user to run the program, but not to be able to perform the formatted dump. For OPM RPG programs, this can be done by giving *OBJOPR plus *EXECUTE authority. For ILE RPG programs, this can be done by giving *USE authority.

All rights reserved © 2018 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

IBM - RPG Topics