Menu

Low resource simulation (also known as fault injection) tries to simulate an environment under low resources, for example out of memory. This will identify bug within low memory conditions.

Properties

To edit the properties, check the Low Resource Simulation check box in the Tests area, right click, and select properties:

  • Include � Limit faults happens only in the specified dlls. One dll name without path per row. If '*' is specified, faults will happen for all the modules.

  • Exclude � Exclude faults for the specified modules. One dll name without path per row.

  • Timeout � Give a time slot (in millisecond) when there is no fault at process initialization.

  • Wait � A number [0 � 1000000] that indicates the fault probability for the WaitForXXXX API.

  • Heap_Alloc - A number [0 � 1000000] that indicates the fault probability for the Heap Allocation API.

  • Virtual_Alloc - A number [0 � 1000000] that indicates the fault probability for the Virtual Memory allocation API.

  • Registry - A number [0 � 1000000] that indicates the fault probability for the Registry API.

  • File- A number [0 � 1000000] that indicates the fault probability for the File API such as CreateFile.

  • Event - A number [0 � 1000000] that indicates the fault probability for the Event API such as CreateEvent

  • MapView - A number [0 � 1000000] that indicates the fault probability for the MapView API such as CreateMapView.

  • Ole_Alloc - A number [0 � 1000000] that indicates the fault probability for the Ole API such as SysAllocString.

  • Stacks - Each Microsoft Windows application thread starts with a stack reserve and a stack commit size. Under normal usage, the stack commit grows whenever there is need for more space on the stack. See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/createthread.asp and http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/thread_stack_size.asp for more information.

    If the system is experiencing low memory conditions, the stack commit growth might fail. The thread that fails to grow its stack and the whole application will most likely crash. That kind of crash is unacceptable for important system processes (e.g. for services). The Stacks check will disable any the stack growth for the application that is being verified so it will simulate the stack growth failures without the need to simulate the whole system low memory conditions.

  • Exceptions will be thrown when the application tries to expand the stack. No verifier stops are generated by this.