The SEARCH command, when used with the MASK and PATTERN commands, enables you to check each word in a memory dump for a specified pattern of bits. This pattern can include all 48 bits within the word and its four tag bits, or all words that have a subset of those 48 bits in common.
SEARCH can cause a search for a pattern that is specified by the PATTERN command and limited by the mask set in the MASK command. Within the SEARCH command, you can also specify patterns for a search. These patterns do not use the mask and pattern registers.
You can save the addresses of the words that match the specified pattern, along with the contents of those words. You can search the saved words again with different search patterns.
For more information, see the discussion of the following commands in this section:
Syntax
┌◄──────────────────────────────────────┐ ── SEARCH ─┬──────────────┬─┴─┬───────────────────────────────────┬─┴──► ├─ ABSENTCOPY ─┤ ├─/1\─ REFS ──<simple address>──────┤ ├─ ABSENTDESC ─┤ ├─/1\─ RANGE ──<multiple addresses>─┤ ├─ MEMERRORS ──┤ ├─/1\─ MASK ──<simple value>────────┤ ├─ MOMDESC ────┤ └─/1\─ PATTERN ──<simple value>─────┘ └─ PREVIOUS ───┘ ►─┬─────────────────┬──────────────────────────────────────────────────┤ │ ┌◄────────┐ │ └─ : ─┴─┬─ T ─┬─┴─┘ └─ K ─┘ ── ?AX ─┬─ BRK ───────┬────────────────────────────────────────────────┤ ├─ WHERE ─────┤ ├─ STOP ──────┤ ├─ ─ ── TEXT ─┤ ├─ + ── TEXT ─┤ ├─ ─ ── KEEP ─┤ └─ SKIP ──────┘
Explanation
The following text describes the meaning of each construct. Refer to “Basic Constructs” earlier in this section for information about the <simple address>, <multiple addresses>, and <simple value> constructs.
SEARCH
Uses the contents of the pattern and mask registers in the search. Refer to the MASK and PATTERN commands for information about the way these registers are set.
SEARCH ABSENTCOPY
Searches for all absent copy descriptors. An absent copy descriptor references a data structure on disk.
SEARCH ABSENTDESC
Searches for all absent mom descriptors. An absent mom descriptor references a data structure on disk.
SEARCH MEMERRORS
Searches for regions of memory that contain memory parity errors. The MASK and PATTERN options are ignored when MEMERRORS is used; however, the other SEARCH options are unaffected.
SEARCHMOMDESC
Searches for all present mom descriptors. A present mom descriptor references a data structure in core.
SEARCH PREVIOUS
Searches a list of words stored from a previous SEARCH command that included the K option.
SEARCH REFS <simple address>
Searches for present descriptors that reference the section of memory including the specified address.
SEARCH RANGE <multiple addresses>
Searches the range of memory specified by the multiple addresses, which indicate the set or sets of addresses in the range of addresses.
SEARCH MASK <simple value>
Specifies a mask, which is used for the duration of the search only. The mask is not placed in the mask register. The mask consists of
-
A simple value
-
A hexadecimal representation of a 48–bit word with an optional tag, which places a 1 in each bit that is significant in the pattern
-
A 0 (zero) to mask all insignificant bits
SEARCH PATTERN <simple value>
Specifies a pattern on which to search. This pattern is not placed in the pattern register. The pattern consists of
-
A simple value
-
A hexadecimal representation of a 48–bit word with an optional tag, whose significant bits are pointed to by the mask.
The SEARCH command takes this pattern and finds words that match the pattern in the significant bits which have been selected by the mask.
SEARCH:T
Lists the words that match the current pattern modified by the current mask and the hexadecimal address for each word next to its contents.
SEARCH:K
Retains a list of all the words that match the current pattern modified by the current mask, and the addresses for those words. You can search this list using the SEARCH PREVIOUS command. All memory is searched, unless you use the RANGE or PREVIOUS options.
?AX
You can control the search asynchronously by using the ?AX (Accept) options. The following table explains the options of the ?AX command:
?AX Option with SEARCH Command |
Description |
?AX BRK ?AX STOP |
Either of these options will cause DUMPANALYZER to abort the current command. DUMPANALYZER cancels the search without saving information from the search, and prompts you with the following message: :READY |
?AX WHERE |
Displays the location of the search. The search proceeds from the high end of memory toward 0; thus, memory indices printed in response to ?AX WHERE decrease. |
?AX -TEXT |
Stops the listing of the text. |
?AX +TEXT |
Starts the listing of the text. |
?AX -KEEP |
Suppresses the formation of the list of kept matches. |
?AX SKIP |
Abandons the current range and skips to the next range, if any. |
Example 1
The following command searches stack 368 for all words that match the criteria previously set by the MASK and PATTERN commands:
SEARCH RANGE STK 368 BOSR TO LOSR
Example 2
The following command finds all mom descriptors in memory and retains them in a list:
SEARCH MOMDESC RANGE 0 TO END :K
Example 3
The following command searches the list of mom descriptors stored by the previous command, and finds those that refer to the region including address 381F6:
SEARCH REFS 381F6 PREV : T