wRTOS Exception Handling
For most exceptions, the wRTOS handler performs the following tasks:
- Freezes or terminates the errant RTSS process, depending on the current method for treating faulting processes configured in the wRTOS Settings.
- Alerts the user with a popup window.
- Initiates a Windows memory dump. This only happens when wRTOS is configured to stop Windows when a real-time process causes an unhandled exception.
The sections that follow describe each of these tasks.
Freeze or Terminate Processing
The method for treating faulting processes, which you can set in the wRTOS Settings, controls the behavior of faulting RTSS processes. Possible options are:
- Terminates processing (default)
- Freezes the thread and process
- Halts the system and dumps memory
Alert User
The wRTOS handler alerts the user of an exception with a popup message window. For example, if the handler terminates the process, wRTOS might display the following window:
[RTSS_3_0094] wRTOS Exception - Integer Divided by Zero at loc FFFFFA8001D13014
(Proc=FFFFFA8001D09000, Thread=FFFFFA8001CB1000)
Process image has been * unloaded *
If the wRTOS handler freezes processing, wRTOS might display the following window:
[RTSS_3_0094] wRTOS Exception - Integer Divided by Zero at loc FFFFFA8001D13014
(Proc=FFFFFA8001D09000, Thread=FFFFFA8001CB1000)
Process image has been * frozen *
Debug and/or use "RtssKill" command to unload all processes
Generate Event Log Entries
wRTOS event log entries are accessible from the Windows Event Viewer under Event Viewer > Windows Logs > Application. These entries include the text portion of the notification popup window.
Example:
RTSS Exception Notification - IconTypeID: 3, NotifyId: 0
[RTSS_3_0005] wRTOS Exception - Access Violation at loc FFFFFA803157264B
(Proc=FFFFFA8031568000, Thread=FFFFFA803140E000, Pid=03E9, Tid=0007)
Process image has been * unloaded *
Note that the Proc= and Thread= strings represent internal data structures.
The Pid= and Tid= values are hexadecimal.
Note: To preserve event log information, do not filter event entries.
Related topics: