Online Help for Visual Shield

TABLE OF CONTENTS


HOW VISUAL SHIELD WORKS
THE DIFFERENCE BETWEEN CRASHING & FREEZING
ACTIVATION
DE-ACTIVATION
CRASH OCCURRENCE
PROGRAM REVIVAL
TERMINATE MENU OPTION
DETAILS MENU OPTION
TASK MANAGER
TEST
CRASH DEFINITIONS

HOW VISUAL SHIELD WORKS

Kneson Visual Shield 2.0 protects against the negative consequences of many computer crashes. Visual Shield does this by encapsulating (shielding) the offending program that crashes, then placing it in quarantine so the other running programs are not affected. Visual Shield then tries to resolve the crash after which the information you were working on in that program can be saved and the program that crashed can be closed normally.

Visual Shield is active when the Visual Shield icon is visible in the status area of the task bar. Visual Shield works in the background - intercepting crashes and preventing data and time loss. After Visual Shield has an offending program in its quarantine state, it offers the possibility to reanimate the program. Reanimation allows the data that the user was working on to be saved because it stops the crash from becoming fatal and the program from immediately terminating. After saving the data from the program that crashed, the reanimated program should be closed and restarted.

Visual Shield also can revive running programs that stop responding. You have probably noticed that sometimes programs stop responding without it being closed. Windows of the program are still visible, but the program does not respond to keyboard or mouse input. Visual Shield offers a function to “thaw” the program so that data being worked on can still be saved.

THE DIFFERENCE BETWEEN CRASHING AND FREEZING

A crash occurs when a program tries to do something it is not allowed to do. Then, other programs or the operating system no longer will function correctly. Programs are sequences of processor instructions. The processor reads these instructions and executes them. The instructions define how a program does something and how a program reacts to the user. The program can be compared with a cook’s recipe. The cook reads the recipe from beginning to the end and follows instructions in a specific order. Once the instruction has been executed the cook moves on and reads the next instruction and executes it. A program is for the processor what the recipe is for the cook.

CRASH
Assume that a “recipe” looks like this:

“Fill a pot of 1 gallon for 3/4 with water”
“Put the pan on the stove”
“Turn the stove on”
[label] “Check if the water boils”
“If the water does not boil go back to [label]”
“Otherwise, turn the stove off”

This is very detailed, but analogous to the way a program works. The instructions in a program however are much more detailed and therefore can have many more mistakes. Assume that an instruction included was:

“Throw the pan with the water out of the window”

It is more than logical that something like this is not correct. A cook - being human with a mind - would not execute this instruction. However, a computer just does what it is instructed to do and will execute this instruction without hesitation. Of course, this instruction would cause serious damage. At the moment something like this should happen in a computer program the program will crash.

FREEZE
Assume the recipe contains the following instructions:

“Fill a pot of 1 gallon for ¾ with water”
“Put the pan on the stove”
[label] “Check if the water boils”
"If the water does not boil go back to [label]"
"Turn the stove off"


Again, this is very detailed and it looks a lot like the previous recipe. However, there is a very important difference. The instruction:

"Turn the stove on"

is missing! Again, a cook has a mind and will notice that the instruction is missing. A computer will not notice that an instruction is missing, and the processor will wait forever until the water boils! A mistake like this is called an infinite loop. For the user however this means that he program does not respond anymore and acts like it is frozen.

Visual Shield detects crashes automatically because the program tells the processor to do something it can not do. Freezing however can not be detected automatically because the program repeats a normal instruction pattern with nothing that is illegal. Also, there are situations in which a program is busy with something for a long time but is not frozen, the user will have to decide that a program is frozen and ask Visual Shield to thaw the program.

VISUAL SHIELD ACTIVATION
  1. Click on “Start,” select Programs, then select the folder where Kneson Visual Shield has been installed. You should have noticed this during installation. If not, look for a new icon on your desktop.

  2. Select “Visual Shield.” Visual Shield will now start after which it will remain active in the status area of the taskbar -- a Visual Shield Icon will appear there. Visual Shield stays active and will be restarted when Windows is being restarted unless you explicitly close it before shutting down or rebooting your computer (see "Visual Shield Deactivation" below).
VISUAL SHIELD DEACTIVATION
  1. " Click with the right mouse button on the Visual Shield Icon in the taskbar. The small icon should look something like this:


  2. Select "Exit." Visual Shield will close and deactivate. The Visual Shield Icon will disappear from the status area of the taskbar. Visual Shield will not be reactivated when Windows is restarted.
CRASH OCCURRENCE

When a program crashes Visual Shield will intercept the crash. The first time a program crashes after the program has been started Visual Shield will show a screen showing that a crash has occurred. Visual Shield will analyze the crash and provide you with options to decide what to do.

The crashing program does not have to be the program currently in the foreground (the one you are working on). It could be a program running in the background.

The dialog screen contains the following information:
  • Icon of the program
  • Caption / title of the program
  • Short description of the crash
  • Detailed description of the crash
  • Revive options

PROGRAM REVIVAL

You can use Visual Shield to try to revive a program. Program revival is comparable to revival performed on patients in hospitals. In this case, a program is in some way damaged in memory (not damaged permanently) and without Visual Shield could only be closed. Visual Shield provides you with the option to force the program to continue for a short amount of time. This gives you the opportunity to save any data and avoid losing valuable work. It is always strongly advisable to close and re-start the program after the intervention of Visual Shield. Visual Shield will warn you if the program that crashed is not being closed within a certain amount of time.

TERMINATE MENU OPTION

This option is the same as the only possibility that Windows provides you when a program crashes. When crashes occur, there is a greater possibility that the system will become increasingly unstable, so you should always eventually terminate the program -- especially if Visual Shield cannot revive the application. However, unlike the Windows option, Visual Shield will always try to recover from a crashed state.

DETAILS MENU OPTION

The details menu item shows you technical system information. This is useful if you know anything about programming, or for computer technicians or specialists to identify problems and possible solutions for errors that repeatedly occur.

TASKBAR

Visual Shield places an icon in the status area of the task bar. As long as this icon appears there, Visual Shield is active and protecting your system. Click the right mouse button to show the Visual Shield taskbar menu. The Visual Shield task bar menu gives the following options: TASK MANAGER
When programs crash, Visual Shield automatically detects and intercepts the offending application. However, program freezes are not automatically detected. The Visual Shield task manager can help with freeze detection and recovery. At the moment a program stops reacting to mouse and/or keyboard input, the Visual Shield task manager can be started by clicking the right mouse button on the Visual Shield icon in the system tray. This icon looks like this: -->

The task manager gives an overview of all programs running and their status. The status' can be:
  • Running - The program is running and reacting normally to all tasks
  • Not responding - The program is not responding or responds incorrectly as shown in the task manager. This does not mean that the program in frozen - it is possible that the program is running a heavy task and the function of the mouse and keyboard is being suspended. It is however possible that the program is frozen and you should try to "thaw" the program
  • Unknown - The status of the program cannot be determined (rare)
Notice that all the programs in the dialog box to the right are in the "Running" state. When you encounter a crash or a freeze, one of the other status indicators will appear under the status column.

Depending on the status the task manager displays, the following options are presented:
  • Thaw - When a program stops responding to the input of the keyboard and mouse for a significant time, the program may be frozen. It is possible at this point, to invoke the Thaw function to attempt to bring the program back to life.
  • Terminate - When a program no longer reactes to the keyboard and mouse, does not allow you to close it normally or does not react to a Thaw instruction, it can be closed with the terminate function. Terminate has a progressive method for terminating a program that is more advanced than the native Windows terminate function. If one method does not work, Visual Shield automatically uses more aggressive means to terminate the offending program. Visual Shield performs in this way because more aggressive methods increase the possibility of data loss and Visual Shield attempts to avoid this.


TEST

Visual Shield test is a separate program through which the Visual Shield functionality can be examined . Visual Shield test provides a list of all of the possible crash states that can occur. All crash types can be simulated so that you can view their effect on your system. Visual Shield test generates a crash that the Visual Shield program will intercept. When you choose revive, Visual Shield provides a message that the program will continue after a crash. When you choose terminate, Visual Shield test will be terminated - not the program.

Besides the above, Visual Shield test can be used to check if Visual Shield is active. It can also be used to allow you to familiarize yourself with the functionality of Visual Shield.

CRASH DEFINITIONS
Exceptions
  • Access Violation - The thread tried to read from or write to a virtual address for which it does not have the appropriate access.
  • Array Bounds Exceeded - The thread tried to access an array element that is out of bounds and the underlying hardware supports bounds checking.
  • Data Type Misalignment - The thread tried to read or write data that is misaligned on hardware that does not provide alignment. For example, 16-bit values must be aligned on 2-byte boundaries; 32-bit values on 4-byte boundaries, and so on.
  • Illegal Instruction - The thread tried to execute an invalid instruction.
  • In Page Error - The thread tried to access a page that was not present, and the system was unable to load the page. For example, this exception might occur if a network connection is lost while running a program over the network.
  • Invalid Disposition - An exception handler returned an invalid disposition to exception dispatcher. Programmers using a high-level language such as C should never encounter this exception.
  • Non-Continuable Exception - The thread tried to continue execution after a noncontinuable exception occurred.
  • Privileged Instruction - The thread tried to execute an instruction whose operation is not allowed in the current machine mode.
  • Stack Overflow - The thread used up its stack.
Floating Point
  • Float Denominal Operand - One of the operands in a floating-point operation is denormal. A denormal value is one that is too small to represent as a standard floating-point value.
  • Float Divide by Zero - The thread tried to divide a floating-point value by a floating-point divisor of zero.
  • Float Inexact Result - The result of a floating-point operation cannot be represented exactly as a decimal fraction.
  • Float Invalid Operation - This exception represents any floating-point exception not included in this list.
  • Float Overflow - The exponent of a floating-point operation is greater than the magnitude allowed by the corresponding type.
  • Float Stack Check - The stack overflowed or underflowed as the result of a floating-point operation.
  • Float Underflow - The exponent of a floating-point operation is less than the magnitude allowed by the corresponding type.
Integer
  • Integer Divide by Zero - The thread tried to divide an integer value by an integer divisor of zero.
  • Integer Overflow - The result of an integer operation caused a carry out of the most significant bit of the result.

More Information  |  Help  |  About Us  |  Write Us  |  Contact

Copyright © 2003 by Kneson Software, All Rights Reserved