Software Tracing uses the OS/2 Trace facility control utility, TRACE.EXE, to enable and disable the tracing of events.
Software Tracing is performed to special trace buffers which are allocated, one per processor, when STRACE is initialized or turned on. Thus, the information recorded by Software Trace does not go into the OS/2 Trace facility's System Trace buffer and the recording can be efficiently done in a multiprocessing environment. The user can alter the size of the buffers with the STRACE command to collect much more data than TRACE can.
The trace hooks placed in the kernel for software tracing are there for performance use, as opposed to the ones for TRACE which are positioned primarily as debugging aids. Software Tracing utilizes the 64-bit Pentium Time Stamp Counter to provide precise time stamping of events.
Software trace information is formatted by using the POST option of STRACE. STRACE also permits the transfer of trace data to disk for processing on other systems, provided, of course, that STRACE.EXE has been copied to the other system.