Language Environment actions for the interactive debug tool

This topic discusses the actions Language Environment takes on behalf of a debug tool.

Language Environment parses the TEST runtime option on behalf of the debug tool and sets the appropriate flags within the Language Environment options control block. Language Environment sets the initial values for the test level and the debug tool event handler in the PCB. After its initial setting during the initialization of the first enclave within the process, this field is updated only by debug tool commands such as the SET TEST command. It is not influenced by nested enclave invocations. For every new enclave spawned and every thread being terminated, if the debug tool has been initialized, Language Environment thread initialization/termination calls the debug event with an enclave initialization or termination event code.

If the debug tool has been initialized, messages can be directed to the Language Environment message file are delivered to the debug tool by calling the debug event handler. In addition, the Language Environment error handler calls the debug event handler for all enabled conditions. The debug event handler is called after the enablement phase and prior to calling the condition handlers. It is also called when a condition is promoted. Upon the occurrence of an attention interrupt, Language Environment calls the debug event handler with an event code indicating an attention interrupt. The debug tool can set hooks, process the event within certain restrictions, and wait for a synchronization point.