System Dump Analyzer — MicroVMS 4.6
Additional information available:
ATTACHCOPYDEFINEEVALUATEEXAMINEEXITFORMAT
HELPREADREPEATSEARCHSETSHOWSPAWN
VALIDATE
Execute CommandExpressionsInitializationOperation
Execute Command
@filespec
Causes SDA to execute SDA commands contained in a file. Use this command
to execute a set of frequently used SDA commands. This command is bound
to the at sign (@) character. The name of the file is a required
argument.
Expressions
Some SDA commands allow expressions as command parameters.
To create expressions, you can use
Radix operators
Arithmetic and logical operators
Precedence operators
Symbols
Numerals
Radix operators specify a given radix for the number that follows the
operator. SDA displays hexadecimal numbers with leading zeros and
displays decimal numbers with leading spaces.
^X Hexadecimal (default)
^O Octal
^D Decimal
Unary operators
# Logical NOT of value
+ Assigns positive value (default)
- Assigns negative value
@ Uses contents of location
G Adds ^X80000000 to value (system space)
H Adds ^X7FFE0000 to value (control region)
Binary operators
+ Addition
- Subtraction
& Logical AND
! Logical OR
\ Logical XOR
* Multiplication
/ Division
@ Arithmetic shift
Logical AND, logical OR, logical XOR, multiplication, division, and
arithmetic shifting are performed before addition and subtraction.
Precedence operators
Parentheses control the evaluation of all operations. Expressions
enclosed in parentheses are evaluated first. SDA evaluates nested
parenthetical expressions from the innermost to the outermost pairs
of parentheses.
Symbols
Symbols are composed of up to 31 letters and numbers, and
can include the dollar sign and underscore characters. When you
invoke SDA, it copies the global symbols from SYS.STB, the system's
symbol table. You can add other symbols to SDA's symbol table by using
the DEFINE and READ commands. SDA also predefines certain symbols,
some of which follow:
. Current location
G ^X80000000 (system space)
H ^X7FFE0000 (control region)
R0-R11 General registers
AP Argument pointer
FP Frame pointer
SP Stack pointer
PC Program counter
PSL Processor status longword
Initialization
When you invoke SDA, by using the DCL commands ANALYZE/SYSTEM or
ANALYZE/CRASH, SDA will execute commands from an initialization
file if one exists.
First, SDA searches for the initialization file using the
logical name SDA$INIT. If this file is not found, then SDA searches
for the file SYS$LOGIN:SDA.INIT .
The initialization file can be used to define keys for SDA commands, or
automatically execute SDA commands upon invoking SDA.
Operation
You execute the System Dump Analyzer program by means of directives.
SDA obtains these directives from SYS$INPUT, which can be your terminal
or a command file. You can send the output to a file or to your terminal.
Any of the following commands will invoke SDA:
$ ANALYZE/CRASH_DUMP dump_file
$ ANALYZE/SYSTEM
$ RUN SYS$SYSTEM:SDA
When a fatal BUGCHECK error causes the system to crash, the system
writes the current state of the hardware registers and all physical memory
to a contiguous file called SYSDUMP.DMP in the SYSEXE account on the
system disk. Alternatively, the system's paging file may be specified as
the destination of the dump information instead of SYSDUMP.DMP. This is
useful on systems that have constrained disk space.
Note that pages currently in the paging file (paged out) are not saved
because the paging file is too large. Although these pages are lost
from the crash dump, the effect on debugging will be minimal because
most pages relating to the crash are still in physical memory when
the crash occurs, and are thus saved in the dump file. Of course, if the
paging file is used as a dump file, the pages that are there are wiped
out.
It is recommended that the system manager set up the system-startup file
so that SDA is always run during system startup. When executed at this
time, SDA first checks to see if the system has just crashed. If so,
SDA executes the SDA commands in the system's startup-command file.
If the system has not just crashed, SDA exits.
The following example shows the SDA commands typically included in the
system's startup file. The most important of these is the COPY
command, which copies the dump file to another file. This operation
is recommended because the system always overwrites this file in the event
of a crash, and the record of the previous crash is lost unless another
copy exists. Furthermore, if the paging file was used as the dump file,
the pages that contain the dump information are not available for paging
until they are explicitly released by the COPY command.
$ !
$ ! Invoke the System Dump Analyzer if the system just crashed
$ !
$ ANALYZE/CRASH_DUMP SYS$SYSTEM:SYSDUMP
SET OUTPUT LPA0:SYSDUMP.LIS ! Make listing file
SHOW CRASH ! Display crash information
SHOW STACK ! Show current operating stack
SHOW SUMMARY ! List all active processes
SHOW PROCESS/PCB/PHD/REGISTERS ! Display current process
SHOW SYMBOLS/ALL ! Print the system symbol table
COPY SYS$SYSTEM:SAVEDUMP.DMP ! Save dump file for later
EXIT
If you need more information on the crash, you can execute SDA
interactively or add SDA commands to the startup file.