RTX Exception Handling

For most exceptions, the RTX handler performs the following tasks:

The sections that follow describe each of these tasks.

Freeze or Terminate Processing

The Fault Process ExceptionDisposition registry flag, which you can set from the RTX Properties control panel, controls the behavior of faulting RTSS processes. Possible options are:

Alert User

The RTX handler alerts the user of an exception with a popup message window. For example, if the handler terminates processing, RTX might display the following window:

  RTX Exception - Memory Access Fault at loc FEBEB229 
(Proc=80452448, Thread=804526F8)
Process image has been * unloaded *

In this example, a memory protection fault has been detected. The message identifies the application instruction address and the process and thread identification values. The disposition of the thread is unloaded.

If the RTX handler freezes processing, RTX might display the following window:

  RTX Exception - Memory Access Fault at loc FEBDF229
  (Proc=80452448, Thread=804526F8)
  Process image has been * frozen *
  Debug and/or use "RTSSkill" command to unload all processes

In this example, a memory protection fault has been detected. The message identifies the application instruction address and the process and thread identification values. The disposition of the thread is frozen. The user is directed to manually terminate the process using RTSSkill.

Write RTX Extended Windows Minidump File

You can configure RTX to extend the Windows minidump file to include information about RTX. An RTX extended Windows minidump file contains both Windows blue screen information plus key information about the current RTSS application. RTX extends the Windows minidump by adding information about the current state of the RTX Subsystem. You can then load the RTX extended Windows Minidump file within WinDbg and view RTX Subsystem data. See Interpreting RTX Green Screen Messages for more information.

Generate Event Log Entries

The event log message includes an information entry, which is the text portion of the popup window, and an error entry that provides details about the error. The error entry contains two parts: a description and binary detail. The binary detail consists of 10 DWORDs of message data and 3 DWORDs of RTSS fault data, as illustrated in the sample that follows.

  The description for Event ID (12) in Source (Rtx_rtss)
  could not be found. It contains the following
  insertion string(s):
  \Device\Rtx_rtss, RTX Exception - Memory Access Fault
  0000: 00100000 00620002 00000000 c004000c
  0010: 00000000 c0000183 00000000 00000000
  0020: 00000000 00000000 feac12e8 febdf229
  0030: 80452448 804526f8

The first 10 entries in the message dump are specific to the error logging call and are ignored. The 3 DWORDs of RTSS fault data are:

IMPORTANT!  To preserve event log information, do not filter event entries.

 

See Also

IntervalZero.com | Support | Give Feedback