The Hooked DLLs tab allows you to specify which DLLs should not be hooked.
DLLs are hooked according to a set of rules. There are three rules available.
•Hook all DLLs. All DLLs will be hooked regardless of the settings in the list.
•Hook the enabled DLLs in the list. Only the DLLs in the list that are enabled will be hooked. All other DLLs will not be hooked.
•Do not hook the enabled DLLs in the list. The DLLs in the list that are enabled will not be hooked. All other DLLs will be hooked.
The Process Modules list specifies all DLLs and .EXE in the target application. The default is that each DLL and .EXE is enabled. A DLL or .EXE that is disabled does not have any hooks put into that DLL. This list can also specify folders that should be hooked or that should not be hooked. All DLLs found inside a specified folder will be hooked or will not be hooked according to the same rules used for individual DLLs.
DLL names should be written as just the module name without the path. You can use the * wildcard to specify groups of DLLs. For example MFC*.dll will specify all DLLs starting with the MFC prefix. To edit a DLL name double click in the text field. Wildcards are not supported for folder names.
To enable a DLL for use with the hooking rules, click in the yellow box so that a tick mark is displayed.
To disable a DLL for use with the hooking rules, click in the yellow box so that a tick mark is not displayed.
Any DLLs in the list override the DLL Hook Insertion settings on the Hook Insertion tab.
•Choose Exe... to populate the list of DLLs with all the dependent modules of an application. A file selection dialog will be displayed to select the application.
•Add Module... add a dll to the list of DLLs. A file selection dialog will be displayed to select the DLL.
•Add Folder... add a folder to the list of DLLs that will not be hooked. A folder selection dialog will be displayed to select the folder.
•Remove remove the selected DLLs and folders from the list.
•Remove All remove all DLLs and folders from the list.
•Enable All enable all DLLs in the list.
•Disable All disable all DLLs in the list.
•Export... to export the hooking rule and the list of DLLs to hook. A file selection dialog is displayed to allow you to choose the file to export to.
•Import... to import a previously exported rule and list of DLLs to hook. A file selection dialog is displayed to allow you to choose the file to import from.
Delay loaded DLLs
If you do not want to hook DLLs that use delay loading techniques select the Don't hook delay loaded DLLs checkbox.
The process of performing Unit Tests often results in testing multiple applications. This will result in the list of DLLs that you are working with changing. It is therefore possible that you may forget to update the list of DLLs to hook. This could cause incorrect coverage results if you have the hooking rules set to hook a specific set of DLLs. To help prevent this, Bug Validator provides the option of warning you about these settings when you change the executable you are testing.
The options are:
•Ask about DLLs to Hook settings if some DLLs defined. You will only be asked about the Hooked DLLs settings if you have defined some DLLs (enabled or disabled) in the list.
•Always ask about DLLs to Hook settings. You will always be asked about the Hooked DLLs settings.
•Never ask about DLLs to Hook settings. You will never be asked about the Hooked DLLs settings.
When Bug Validator asks you about the Hooked DLLs settings, the following dialog is displayed.
If you wish to change when you are asked this question choose the appropriate radio box.
•Update Settings and Launch to edit the settings and then launch the application.
•Ignore Settings and Launch to launch the application without updating the settings.
•Cancel to cancel launching the application.
Reset All - Resets all global settings, not just those on the current page.
Reset - Resets the settings on the current page.