The TDF, and TFF files produced by TRCUST are used in the following way:
┌─────────┐ │ .TSF │ └────┬────┘ V ┌──────┴──────┐ │ TRCUST Util │ └──────┬──────┘ ┌────────────────────────────┤ V V ┌────┴────┐ ┌────┴────┐ │ .TDF │ │ .TFF │ └────┬────┘ └────┬────┘ V │ ┌──────┴──────┐ │ │ TRACE Util │ │ └──────┬──────┘ │ V │ ┌───────┴───────┐ │ │tracepoints set│ │ └───────┬───────┘ │ V │ ┌───────┴───────┐ │ │ tracepoint hit│ │ └───────┬───────┘ │ V │ ┌───────┴───────┐ │ │ OS/2 kernel │ │ └───────┬───────┘ │ V │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ V V ┌───────┴───────┐ ┌──────┴──────┐ │ trace buffer ├────────────>┤TRACEFMT Util│ └───────────────┘ └──────┬──────┘ V ┌──────┴──────┐ │ formatted │ │trace records│ └─────────────┘How TRCUST fits into the system
To trace a module do the following:
This produces two files, a TDF and a TFF.
Note:
The TRACE command will assume that a simple unqualified name refers to a TDF and will search, \OS2\SYSTEM\TRACE, the current directory and DPATH for the TDF. If it is still unable to locate the TDF then the name is assumed to be a DLL and LIBPATH is searched for the TDF.
If a qualified name is used then TRACE will assume this to be the traced module and will attempt to locate the TDF in the module's directory, by searching the current directory then LIBPATH for DLLs or PATH for non-DLLs.
This activates the tracepoints, causing the trace data to be saved in the system trace buffer.
TRACEFMT uses the major code to determine the TFF file and uses the formatting string corresponding to the minor code value to format the data in the RAS trace buffer and output it to the screen, file or printer.
Tracepoints may selectively be turnned on or off at any time, by reference to individual minor codes or a group or group+type combination.
Active tracepoints may be queried using either:
TRACE /Qor
DTRACE QUERY /X /A
The latter example gives detailed information on tracepoint status and location within each module.