home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
dumptool.zip
/
SAMPLRPN.ZIP
/
samplrpn.doc
< prev
next >
Wrap
Text File
|
1997-04-29
|
6KB
|
168 lines
Author: Richard Moore
Date: 29 April 1997
Version: 1.0
The SAMPLRPN.ZIP file contains sample trace program files for use with
DTRACE.
The following samples are included. A full description of each one is
given below:
1) TRAPPID.RPN - TRAPDUMP by PID
2) TRAPANY.RPN - TRAPDUMP for any exception.
3) TRAPSLOT.RPN - TRAPDUMP by Thread Slot Number
4) TRAPTID.RPN - TRAPDUMP by TID
5) TRAPXCPT.RPN - TRAPDUMP by Exception Number
6) LOGXCPT.RPN - Log any exception, recoverable or not.
Sample Descriptions:
1) TRAPPID.RPN - TRAPDUMP by PID
This RPN file sets a tracepoint at _XCPTBuildR3DispatcherStack in the
kernel. This is the routine through which all ring 2 and ring 3
exceptions pass. The RPN trace program checks against a specific PID,
if a match is found then a system dump is taken.
TRAPDUMP=ON should NOT be specified since all fatal exceptions will
result in a dump.
The desired PID may be customised by editing TRAPPID.RPN.
For testing purposes, the SYSDUMP command is commented out and replaced
by commands that log the exception. TRAPTRAP.TSF may be compiled using
TRCUST to allows these trace records to be formatted.
The RPN file specified _XCPTBuildR3DispatcherStack for the Warp V4 GA
ALLSTRICT kernel. For other kernel versions OBJECT and OFFSET must be
changed appropriately. See below for a selection.
2) TRAPANY.RPN - TRAPDUMP for any exception.
This RPN file sets a tracepoint at _XCPTBuildR3DispatcherStack in the
kernel. This is the routine through which all ring 2 and ring 3
exceptions pass. When the tracepoint is hit, a system dump is taken.
This technique will allow all exceptions to be intercepted regardless
of whether they are recoverable. The dump is taken before any exception
handler is able to run.
TRAPDUMP=ON need NOT be specified.
For testing purposes, the SYSDUMP command is commented out and replaced
by commands that log the exception. TRAPTRAP.TSF may be compiled using
TRCUST to allows these trace records to be formatted.
The RPN file specified _XCPTBuildR3DispatcherStack for the Warp V4 GA
ALLSTRICT kernel. For other kernel versions OBJECT and OFFSET must be
changed appropriately. See below for a selection.
3) TRAPSLOT.RPN - TRAPDUMP by Thread Slot Number
This RPN file sets a tracepoint at _XCPTBuildR3DispatcherStack in the
kernel. This is the routine through which all ring 2 and ring 3
exceptions pass. The RPN trace program checks against a specific
thread slot number, if a match is found then a system dump is taken.
TRAPDUMP=ON should NOT be specified since all fatal exceptions will
result in a dump.
The desired Slot may be customised by editing TRAPSLOT.RPN.
For testing purposes, the SYSDUMP command is commented out and replaced
by commands that log the exception. TRAPTRAP.TSF may be compiled using
TRCUST to allows these trace records to be formatted.
The RPN file specified _XCPTBuildR3DispatcherStack for the Warp V4 GA
ALLSTRICT kernel. For other kernel versions OBJECT and OFFSET must be
changed appropriately. See below for a selection.
4) TRAPTID.RPN - TRAPDUMP by TID
This RPN file sets a tracepoint at _XCPTBuildR3DispatcherStack in the
kernel. This is the routine through which all ring 2 and ring 3
exceptions pass. The RPN trace program checks against a specific TID
and PID, if a match is found then a system dump is taken.
TRAPDUMP=ON should NOT be specified since all fatal exceptions will
result in a dump.
The desired PID & TID may be customised by editing TRAPSLOT.RPN.
For testing purposes, the SYSDUMP command is commented out and replaced
by commands that log the exception. TRAPTRAP.TSF may be compiled using
TRCUST to allows these trace records to be formatted.
The RPN file specified _XCPTBuildR3DispatcherStack for the Warp V4 GA
ALLSTRICT kernel. For other kernel versions OBJECT and OFFSET must be
changed appropriately. See below for a selection.
5) TRAPXCPT.RPN - TRAPDUMP by Exception Number
This RPN file sets a tracepoint at _XCPTBuildR3DispatcherStack in the
kernel. This is the routine through which all ring 2 and ring 3
exceptions pass. The RPN trace program checks against a specific
software exception number, if a match is found then a system dump is
taken.
TRAPDUMP=ON should NOT be specified since all fatal exceptions will
result in a dump.
The desired exception number may be customised by editing TRAPSLOT.RPN.
For testing purposes, the SYSDUMP command is commented out and replaced
by commands that log the exception. TRAPTRAP.TSF may be compiled using
TRCUST to allows these trace records to be formatted.
The RPN file specified _XCPTBuildR3DispatcherStack for the Warp V4 GA
ALLSTRICT kernel. For other kernel versions OBJECT and OFFSET must be
changed appropriately. See below for a selection.
6) LOGXCPT.RPN - Log any exception, recoverable or not.
This RPN file sets a tracepoint at _XCPTBuildR3DispatcherStack in the
kernel. This is the routine through which all ring 2 and ring 3
exceptions pass. The RPN trace program logs the Client Register
information (CRI) and the Client Register Stack Frame (CRSF) for the
current thread. The CRI gives the size and offset into the CRSF for
each client register.
LOGXCPT.TSF may be compiled using TRCUST to allows these trace records
to be formatted.
The RPN file specified _XCPTBuildR3DispatcherStack for the Warp V4 GA
ALLSTRICT kernel. For other kernel versions OBJECT and OFFSET must be
changed appropriately. See below for a selection.
_XCPTBuildR3DispatcherStack objects and offsets for various kernels
Object:Offset Kernel Version
000D:0003788B V4 GA RETAIL
000F:00038f93 V4 GA HSTRICT
000F:00046DAF V4 GA ALLSTRICT
000D:000378cB V4 FP00 RETAIL
000F:00038fcb V4 FP00 HSTRICT
000F:000471ab V4 FP00 ALLSTRICT
000d:000378d3 V4 FP01 RETAIL
000F:00038fd3 V4 FP01 HSTRICT
000F:000471ab V4 FP01 ALLSTRICT
000D:00039C23 V3 FP29 RETAIL
000F:0003b3f7 V3 FP29 HSTRICT
000F:00048E23 V3 FP29 ALLSTRICT
000D:00036703 V3 FP24 RETAIL