gtmpcat has an interactive mode. Instead of producing a report, the interactive mode acts as a front-end that enhances the use of the debugger from the underlying OS.
Caution | |
---|---|
As interactive mode is still under development, it is likely to have rough edges. For example, M terminal IO is limited to that provided by GT.M . you can edit input using the left and right arrow keys but command retrieval is limited to the last command entered (with the up arrow key, and the down arrow key has no effect). |
The help gtmpcat command describes currently supported commands . Any command that is not recognized in this mode, or any command prefixed with a "\" char, is sent to the native debugger and its output displayed on the console.
All of the information from the reports is available in this mode. Each "section" of the report can be printed, either the entire report or one or more at a time with the report command.
There are commands that give additional information not available in the standard report. For example:
cache: The cache command gives information similar to the DSE CACHE command.
dmp: The dmp command dumps a data structure, given just its address as long as the structure is defined in the initialization file.
dmparray: The dmparray command can dump an array of control blocks in a formatted fashion. The array of control blocks are typdef structures defined in the GT.M header files and whose layouts are defined in GTMDefinedTypesInit.m[13].
dmplist: The dmplist command can dump a linked list of blocks terminating when a maximum number of such blocks is processed or if the list cycles around to the beginning or if it hits a NULL forward link.
[13] The initialization file for interactive mode is GTMDefinedTypesInit.m which is platform and release specific. It is available as a separate tarball in GT.M release directories (older versions have GTMDefinedTypesInit.m packaged with the GT.M tarball itself).