Please enable JavaScript to view this site.

Coverage Validator Help

Navigation: The User Interface > Settings > Data Collection Settings > Third Party DLLs

Stub Global Hook DLLs

Scroll Prev Top Next More

 

The Stub Global Hook DLLs tab allows you to detect and specify global hook DLLs that may not be wanted in the stub process.

 

settings-stubglobalhookdlls

 

 

About global hook DLLS

 

Some third party products such as storage devices and video cards are supplied with software to help integrate the hardware device into the computer desktop environment.

 

An example is the Iomega® Zip® drive. This uses a global hookexternalLink via the IMGHOOK.DLL which allows the browse for files and browse for folders interfaces to correctly display all the storage devices on the computer, including the zip drive and any special options for the drive.

 

Some global (or system) hook DLLs can interfere with the correct operation of Coverage Validator when it inserts hooks into the target program, (although the IMGHOOK.DLL mentioned above doesn't).

 

The settings below allow you to specify and/or detect DLLs that should be treated as global hookexternalLink DLLs.

 

Any DLL listed will fail to load into the target program when loaded via LoadLibrary() or LoadLibraryEx().

 

For situations where the hook DLL is already present in the target program, it can optionally be forcibly unloaded. This may happen if it was loaded before Coverage Validator attached to the process.

 

 

Managing global hook DLLs

 

Test for Window Blinds... instructionStep test for Window Blinds DLLs loading into your application, and prevent them from loading

 

Window Blinds DLLs WBOCX.OCX and WBLIND.DLL are not compatible with Memory Validator.

 

Test for Sugar Sync... instructionStep test for Sugar Sync DLLs loading into your application, and prevent them from loading

 

Sugar Sync DLLs SugarSyncShellExt.dll and SugarSyncShellExt_x64.dll are not compatible with Memory Validator.

 

Test for Visual Leak Detector... instructionStep test for Visual Leak Detector DLLs loading into your application, and prevent them from loading

 

Visual Leak Detector is not compatible with Memory Validator. If you are linked to Visual Leak Detector you'll need to create a build without Visual Leak Detector to use with Memory Validator.

 

Test for user specified... instructionStep test for user specified DLLs loading into your application, and prevent them from loading

 

Add DLL... instructionStep browse and select one or more DLLs instructionStep Open instructionStep adds the chosen DLLs to the Global Hook DLLs list

 

Remove instructionStep removes any selected DLL from the list

 

Remove All instructionStep removes all DLLs from the list

 

 

Auto detecting global hook DLLs

 

Coverage Validator can detect any DLLs in its own process that are not ones it uses itself. Such DLLs are likely to be global hook DLLs:

 

Auto Detect instructionStep automatically detect DLLs which may be global hook DLLs, adding them to the Global Hook DLLs list

 

Additionally, you can request unloading of any of the listed global hook DLLs that are detected as already loaded into the target process when Coverage Validator attaches to it:

 

Unload already loaded global hooks instructionStep when ticked, forces an unload of any listed global hook DLLs

 

warningnote Use this with caution, as not all global hook DLLs may have been designed or intended for this!

 

 

Viewing the diagnostic information

 

If a DLL is prevented from loading because of these settings, or is allowed to load because of these settings, there will be an entry on the Diagnostic tab.

 

To view this data, go to the Diagnostic tab, select the Diagnostic sub tab, then set the Show combo box to "Dlls". All information about DLLs will be shown. Scroll through the list looking for "Prevented DLL load" in the left hand column. The right hand column will indicate if a DLL was prevented from loading, or allowed to load. The DLL name will also be shown.

 

 diagnostic-dlls-dll-prevented-from-loading

 

 

Reset All - Resets all global settings, not just those on the current page.

 

 

Reset - Resets the settings on the current page.