.t (VMM Debug Binary Utility)

Toggles the trace switch. At start time the debugging VMM does not performing any fault logging, but when this command is invoked, then the message "start tracing" is displayed, at which point debugging code in the VMM starts logging each fault/exception that occurs. The logging includes the current registers, whether executing V86 client, PM client or VMM/VxD code, system time, fault #, etc. Both the fault entry into the VMM and the exit from the VMM are logged. The logged information can be viewed with the ".S" commands.

Invoking ".T" a second time displays the message "stop tracing", at which point the logging will stop, but any previously logged information can still be viewed. So, ".T" toggles the logging state between logging and not logging. Each time that logging is started, the current log is lost, so it is only possible to view the most recently logged session. The logging is done into a circular queue, so it will start overwriting at some point, but the queue is defined large enough to give a good view into the types of faults that are occurring.

This command is very useful for determining problems that are related to fault processing and sequencing, such as virtually handling I/O instructions being executed by the client. It is also useful for when the Windows/386 wants to blow-up; it may be possible to determine what happened just prior to the crash to find out what was at fault. It is often helpful to turn on procedure call tracing also. Refer to the ".VMM" command for details on call tracing. The debugging macro Queue_Out, logs messages into a separate circular queue. Each message is associated to a fault log item.