HPlogo System Debug Reference Manual > Chapter 12 Dump Analysis Tool (DAT)

Operating DAT

MPE documents

Complete PDF
Table of Contents
Index

E0201 Edition 4 ♥
E0300 Edition 3
E0692 Edition 3

Follow these steps to use DAT:
  1. Take a snapshot dump of the system that failed, using the DUMP utility. Refer to System Startup, Configuration, and Shutdown Reference Manual for information about making a DUMP tape.

  2. Invoke the DAT utility; the command interpreter prompt (usually a colon) is replaced by the DAT program prompt:

    
       :DAT
       $nmdat>
    
       OR:
    
       :RUN DAT.DAT.TELESUP
       $nmdat>
    
    
  3. Create the dump. A request will appear on the system console to mount the dump tape. The following example creates the dump EXAMP.

    
       $nmdat>GETDUMP examp
    
       Please mount dump volume #1.
    
    
  4. Mount the dump tape when prompted by the message on the system console. Press RETURN. As the dump is being loaded, DAT will display a series of messages about the dump indicating GETDUMP progress:

    
     Tape created by SOFTDUMP 99999X A.00.00
     MPE-XL B.05.09 dumped on SAT, OCT 20, 1990,  1:44 AM
    
          Dump Tape Contents
          ------------------
    
        PIM00       4.0 Kbytes
        MEMDUMP    32.0 Mbytes
        VM001      59.5 Mbytes
    
     This dump will require approximately 32.1 Mbytes
     (#131387 sectors) of disc space.
    
     Please stand by for disc space allocation.
    
                                  0        100%
     Loading tape file PIM00   :  +....+....+
     Loading tape file MEMDUMP :  +....+....+
     Loading tape file VM001   :  +....+....+
    
     Please stand by while dump pages are posted to disk.
    
     Dump disc file space reduced by 59% due to LZ data compression.
     $nmdat>
    
    
  5. Open the dump. The following example opens the dump EXAMP.

    
       $nmdat>OPENDUMP examp
    
       Dump Title: System failure during performance testing.
       Last PIN  : 7  On ICS stack -- Dispatcher running
    
       $nmdat>
    
    
  6. Analyze the dump, using the commands and DAT macros described later in this chapter. If the dump file set was opened successfully, you can display the machine registers, any data locations (using physical, secondary and virtual addressing modes), and the basic tables used in the virtual address translation process.

  7. When finished with a dump file set, you can exit the utility or open another file set. All dump file sets remain in the system until you explicitly purge them with the PURGEDUMP command.

    
       $nmdat> PURGEDUMP examp
       $nmdat> EXIT
       :
    
    

NOTE: When you use the EXIT command in DAT, the DAT program terminates immediately.

Using the info= String


DAT automatically executes any commands specified within the info= string on a RUN DAT command. These commands are executed before any commands found in the optional DATINIT file(s).

   run dat; info='{cmd1, cmd2, cmd3}'

Automatic DATINIT Files


DAT supports the automatic execution of commands with special initialization files named DATINIT, if any exist. These files must be standard USE files (see the USE command).

DAT first tests for an initialization file (DATINIT) in the same group and account as the DAT program file that is being executed. Secondly, DAT looks for an initialization file in the logon group and account (if different from the program file's group and account).

Based on the existence of these special files, it is possible to execute initialization command files from the program's group and account, from the user's group and account, or from both.

The following initialization sequence is possible for DAT:
  1. 
       run dat; info="{cmdlist}"  INFO string command list
    
    
  2. 
       DATINIT.ProgGrp.ProgAcnt   program file group/account
    
    
  3. 
       DATINIT.UserGrp.UserAcnt   user's group/account
    
    
To prevent use of the DATINIT files, use the following RUN command with info= string:

    run dat;info="use close; use close"

Since the info= string has precedence over the DATINIT files, the use close commands are the first commands that DAT executes. In this case, any open DATINIT files are closed before any commands are read from them.

Operating Restrictions


The following limitations exist in DAT:
  • The only symbols that are accessible in CM are the SL.PUB.SYS symbols. This is because SL.PUB.SYS is the only CM library/program file that is dumped by the DUMP utility.

  • Typically, only NL.PUB.SYS symbols are accessible in NM. This is because NL.PUB.SYS is treated as a special file by the DUMP utility. The complete NL is dumped along with a pre-built symbol table which enables DAT to quickly map back and forth between addresses and symbol names. Additional executable libraries may also be accessible, if they have been marked to be dumped.

  • NM stack traces will only trace procedures in NL.PUB.SYS. An exception to this is when the unwind descriptors for the code which called NL.PUB.SYS are memory-resident.

  • For the standard functions nmaddr and nmfile, only addresses contained in the system library are valid.

  • You cannot use the following DEBUG commands in DAT:

  • B (set a breakpoint)

  • BD

  • BL

  • C (continue)

  • DATAB

  • DATABD

  • DATABL

  • F (freeze)

  • M (modify)

  • S,SS

  • TRAP

  • U (unfreeze)

The following is a summary of DAT commands.
CLOSEDUMP

closes a dump file set

DEBUG

gives access to restricted debugging mode

DPIB

displays data from PIB for a block

DPTREE

prints the process tree

DUMPINFO

displays dump file set information

GETDUMP

reads in dump tape, creates dump file set

INITxx

initializes DAT registers from specified location

OPENDUMP

opens a dump file set

PURGEDUMP

deletes a dump file set




How DAT Works


The DAT Macros