|
|
crash synopsis
SCO OpenServer 5 | /etc/crash [-d dumpfile] [-n namelist] [-w outputfile >> batchfile] |
SVR5 | /usr/sbin/crash [-a analysisdir] [-b batchfile -d dumpfile] [-n namelist] [-m moduledir] [-w outputfile] |
Operators
Operator | Associativity |
---|---|
- ~ () | right to left |
/ % # | left to right |
+ - | left to right |
<< >> | left to right |
& | left to right |
^ | left to right |
| | left to right |
= += -= = /= #=
%= &= |= ^= >>= <<= | right to left |
Useful local crash variables
$$ | value of the most recently evaluated expression |
$A | set to 1 if an active system is being examined; set to 0 otherwise |
$C | number of active CPUs in addition to the base processor |
$P | number of the slot for the current process |
$U | size of the u-area excluding the Task State Segment (TSS) |
Common crash command options and arguments
SCO OpenServer 5 | Description | SVR5 |
---|---|---|
-e | Display every entry in a table | -e |
-f | Display the full structure | -f |
-- | Display privilege names symbolically | -n |
-p | Interpret all addresses in the command line as physical addresses | -p |
-s process | Specify process other than default | -s process |
-w file | Redirect the output to file. Works with all commands except plock and quit. | -w file |
process | Processes may be identified by their slot numbers in the process table, or by their process ID number prefixed by a ``#'' (for example, #3091). A ``#'' on its own specifies the currently defined process. | process |
table_entry | Table entries are identified by their slot number, a range of slot numbers, or a mixture of these (for example, 2 4 6..8) | table_entry |
start_addr | A start address is expressed as a numeric value, a symbol, or an expression (for example, symbol+offset) | start_addr |
General purpose crash commands
SCO OpenServer 5 | Description | SVR5 |
---|---|---|
? | List all available commands | ? |
!command | Issue shell command. | !command |
-- | Print audit buffer data. mode can be -l (long), -t (short), or -b (byte). | abuf [-mode] |
-- | Print address space information for process segment | as [-e][-f] [proc...] |
base expression ... | Print expression in all bases | base expression ... |
curproc [ -c | process ] | Identical to defproc | -- |
defproc [ -c | process ] | Set the value of the process slot argument. | defproc [ -c | process |
dis [-a] start_addr [count] | Disassemble from the start address for count instructions. On SVR5, -c can be used in place of start_addr to continue disassembly from a previous disassembly. | dis [ -a ] start_addr | -c [ count ] |
ds virtual_addr ... | Print the data symbol whose address is closest to, but not greater than, the virtual address entered. | ds virtual_addr ... |
eval expression ... | Evaluate an expression in all formats. | -- |
findaddr table slot | Print the address of slot in table. | findaddr table slot |
help command ... | Print the syntax of command, a short description, and any aliases (equivalent commands). | help command ... |
mode [ p | v ] | Set or change address mode. | mode [ p | v ] |
nm symbol ... | -e | Print address and type of symbol. | nm symbol ... | -e |
od [-p] [-a|-c|-d|-h|-o|-x]
[-b|-l|-t] [-s process] [-p] start_addr [count] | Print count symbol values beginning at start_addr. |
od [-p] [-format] [-mode]
[-s process] start_addr [count] |
panic | Print most recent system notices, warnings, and panic messages | panic |
plock [ -d | -t | -u ] | Lock the crash process in memory. | -- |
-- | Print processor local data for current engine | plocal |
quit | Exit the crash session. | quit |
rd [-p] [-a|-c|-d|-h|-o|-x]
[-b|-l|-t] [-s process] [-p] start_addr [count] | Identical to od. | -- |
redirect [ -c | file ] | Redirect output to file. | redirect [ -c | file ] |
search [-p] [-s process]
[-m mask] pattern start_addr length | Print long words in memory that match pattern, beginning at start_addr, and ending at start_addr plus length. |
search [ -p ] [ -m mask ]
[ -s process ] pattern start_addr length |
size [ -x ] [ structure ... ] | Print size of structure. | size [ -x ] [ structure ... ] |
stat | Print operating system information. | stat |
ts virtual_addr ... | Print text symbol that is closest to, but not greater than, the address. | ts virtual_addr ... |
-- | Print information about LWPs | tslwp |
var | Print values of tunable system parameters. | var |
vtop [ -s process ] start_addr ... | Print physical address corresponding to virtual start address. | vtop [ -s process ] start_addr ... |
Viewing kernel structures with crash (Part 1/2)
SCO OpenServer 5 | Description | SVR5 |
---|---|---|
boot [-ef] [-p boot_info
[boot_misc [boot_apm]]] | Display information passed to the kernel at boot time. | -- |
buffer [format] table_entry | [-p] start_addr | Display contents of the buf structure. | buffer [format] | [-p] addr |
bufhdr [-f] [[-p] table_entry...] | Display bufhdr structure. | bufhdr] [-f] [[-p] addr...] |
callout | Display callout table. | -- |
cblock [ -eft ] [ -p ] table_entry ... ] | Print cblock structures. | -- |
-- | Set current CPU group | cg [cgnum] |
-- | Print local information for current CPU group | cglocal |
-- | Print information about process scheduler classes | class [table_entry] |
dbfree [ class ... ] | Display extdatab structure. | -- |
dblock [-e] [-c class ... ] | Display allocated extdatab structures | |
-- | ||
-- | Set lwp slot to current process | deflwp [slot] |
-- | Print dispatcher (scheduler) queues. | dispq [-l|-g] [table_entry...] |
eproc [-ef] [[-p] process...| [-r]] | Display eproc structure. | -- |
-- | Set current engine to eng_num. | eng [eng_num] |
-- | Print active event queue. | evactive [-f] [event_name] |
-- | Print events memory management information | evmm |
file [-e] [[-p] table_entry...] | Display the file structure. | file [-e] [[-p] table_entry...] |
-- | Print kernel privilege table. | filepriv [-e] [-n] [[-p] table_entry...] |
-- | Print table, entry slot number, and offset for structure | findslot virtual_address... |
fs [ [ -p ] table_entry ... ] | Display fsinfo structure. | fs [ [ -p ] table_entry ... ] |
-- | Print gift descriptor protocol table | gdp [-e] [-f] [[-p] table_entry...] |
gdt [-e] [-c cpu] [slot [count]] | Print the Global Descriptor Table. | gdt [-e] [slot [count] table_entry...] |
-- | Print high resolution timer information | hrt |
idt [-e] [-c cpu] [slot [count]] | Print the Interrupt Descriptor Table. | -- |
inode [-eflr] [[-p] table_entry...] | Display incore inode information. | inode [-ef] [[-p] table_entry...] |
kfp [-s process] [-r | kfp] |
Display frame pointer for the start of
a kernel (system) stack trace. | kfp [value] |
-- | Print kernel memory allocator statistics | kmastat |
ksp [-s process] [-r | ksp] | Print the kernel stack pointer. | -- |
lck [-e] [[-p] table_entry...] | Print record-locking information. | lck [-e] [[-p] table_entry...] |
ldt [-e] [process [slot [count]]] | Print the Local Descriptor Table for a specified process. | ldt [-e] [process [slot [count]]] |
-- | Print out level identifier translation cache | lidcache |
linkblk [-e] [-p] table_entry...] | Display linkblk structure. | linkblk [-e] [[-p] table_entry...] |
map mapname ... | Print the map structure of mapname. | map mapname ... |
mbfree | Display msgb structure. | -- |
mblock [-e] [-p]table_entry | Display allocated msgb structure. | -- |
mount [-e] [[-p] [-v] table_entry...] | Display mount structure. | mount [-e] [[-p] table_entry...] |
-- | Print page information. | page [-e] [[-p] table_entry...] |
pbfree | Display free pageb structures. | -- |
pblock [-e] [ -c class ... | [-p] table_entry...] | Display allocated pageb structures. | -- |
Viewing kernel structures with crash (Part 2/2)
SCO OpenServer 5 | Description | SVR5 |
---|---|---|
pbp[ool] | Display pageb structures reserved for interrupt time allocations. | -- |
pcb [-u | -k] [process] | -i [-p] start_addr | Print Process Control Block of process. | pcb [process] |
-- | Print cdfs_inodes structure | pcinode |
pdt [-e] [-s process] [-p] slot | start_addr [count] | Display pde structure. | -- |
pfdat [-e] [[-p] table_entry...] | Display pfdat structure. | -- |
pregion [-e] [[-p] process...| | Display pregion structure. | -- |
-- | Print info about private data of processes | prnode [-e] [[-p] table_entry...] |
proc [-ef] [-q | -l] [[-p] process...| -r] | Display proc structure. |
proc [-e] [-f [-n]] [[-p] table_entry...|
#procid...|] proc [-f [-n]] -r] |
-- | Display page descriptor table | ptbl [-e] [-s process] [[-p] addr [count]] |
-- | Display configured pseudo ttys. | pty [-f] [-e] [-s] [-h] [-l] |
qrun | Display scheduled queue structures. | qrun |
queue [-e] [[-p] table_entry...] | Display allocated queue structures. | queue [-e] [[-p] table_entry...] |
-- | Display receive descriptor table | rcvd [-e] [-f] [[-p] table_entry...] |
-- | Display receive descriptor user table | rduser [-e] [-f] [[-p] table_entry...] |
region [-ef] [[-p] table_entry...] | Display region structure. | -- |
-- | Display realtime scheduler parameter table | rtdptbl [table_entry...] |
rtop [-l | -q] [-p] [table_entry...] |
Print process table entries of processes
in specified region table entries. | -- |
-- | Display realtime process information | rtproc |
runq | Display processes on the run queue. | -- |
sdt [-ef] [-s process] [-p] [slot | start_addr [count]] | Display page directory table entries for a process. | -- |
-- | Display ufs or sfs inode table | sinode [-e] [-f] [[-p] table_entry...] |
-- | Display open special files | snode [-e] [-f] [[-p] table_entry...] |
-- | Display server mount table | srmount [-e] [[-p] table_entry...] |
stack [-u | -k | -l] [process...] | Dump user or kernel stack for the specified process. | stack [process] |
stream [-ef] [[-p] table_entry...] | Display allocated stdata and strevent structures. | stream [-ef] [[-p] table_entry...] |
strstat | Display STREAMS statistics. | strstat |
trace [-e] [-q | -l] [-r] [process... ] | Print system (kernel) stack trace. | trace [process] |
-- | Display timesharing scheduler parameter table | tsdptbl [table_entry...] |
tss [-u | -k] [process] | -i [-p] start_addr | Print the Task State Segment of a process. | |
tty [-ef] [-t type [[-p] table_entry...]
| [-p] start_addr ] ] | Print entries in the tty table. |
tty [-ef] [-l] [-t type [[-p] table_entry...]
| [-p] start_addr ] ] |
user [-f] [process] | Print information about u-area of process. | user [-f] [process] |
-- | Identical to mount | vfs [-e] [[-p] table_entry...] |
-- | Display info about configured file system types | vfssw [[-p] vnode_addr...] |
-- | Print vnode information | vnode [[-p] vnode_addr...] |
-- | Print vxfs inode table | vxinode [-e] [-f] [-l] [-r] [vs_inodeaddr...] |