How can I search IDMS CV memory to check where a string is loaded?
For example, we can check and search a string in a program in memory by doing LOOK program=pgmname
I would like to search a string for all programs loaded in the memory, if possible could be using batch job or online.
Release : 19.0
To display a list of all loaded programs use the DCMT DISPLAY ACTIVE PROGRAMS command.
There are 4 commands for the 4 program pools
DCMT DISPLAY ACTIVE PROGRAMS
DCMT DISPLAY ACTIVE XA PROGRAMS
DCMT DISPLAY ACTIVE REENTRANT PROGRAMS
DCMT DISPLAY ACTIVE XA REENTRANT PROGRAMS
To search for a specific string in memory use the DCMT DISPLAY MEMORY command
The syntax is
DCMT D MEM STR C'cccccc' search-options
or
DCMT D MEM STR x'nnnnnn' search-options
The search-options are:
►►──┬──────────────────────┬─┬──────────────┬─────────────────────────►
├─ (1) ◄───────────────┤ ├─ 16 ◄────────┤
└─ (occurrence-count) ─┘ └─ byte-count ─┘
►──┬─ Addr hex-address search-length ─┬──────────────────────────────►◄
├─ Lte logical-terminal-id ────────┤
└─ Taskid task-id ─────────────────┘
If you do not specify a search domain (that is, ADDR, LTE, or TASKID) on the STR search string option, it will search the whole region so it may take a while to execute.
If you are planning to do this in production you should specify a search domain to limit the search to a specific address range.
See IDMS documentation section DCMT DISPLAY MEMORY and DCMT DISPLAY ACTIVE PROGRAMS