[go: up one dir, main page]

0% found this document useful (0 votes)
96 views4 pages

Where Can I Download Driver Verifier?

How to Verify Windows Drivers

Uploaded by

ajucherian
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
96 views4 pages

Where Can I Download Driver Verifier?

How to Verify Windows Drivers

Uploaded by

ajucherian
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Driver Verifier monitors Windows kernel-mode drivers and graphics drivers to detect illegal function calls

or actions that might corrupt the system. Driver Verifier can subject the Windows drivers to a variety of
stresses and tests to find improper behavior.

You can run Driver Verifier on multiple drivers simultaneously, or on one driver at a time. You can
configure which tests to run, which allows you to put a driver through heavy stress loads or through more
streamlined testing.

 Where can I download Driver Verifier?


 When to use Driver Verifier
 How to start Driver Verifier
 How to control Driver Verifier
 How to debug Driver Verifier violations
 Related topics

Where can I download Driver Verifier?


You don't need to download Driver Verifier (Verifier.exe) as it is included in every version of Windows
after Windows 2000, except for Windows 10 S. There isn't a separate Driver Verifier download package,
it is located in the %windir%\system32 directory.

 Open a Command Prompt window (Run as administrator).


 Type verifier to open the Driver Verifier Manager, or type verifier /? to view command line
options. See Driver Verifier Command Syntax for more information.

Caution

 Running Driver Verifier could cause the computer to crash.


 You should only run Driver Verifier on computers you are using for testing and debugging.
 You must be in the Administrators group on the computer to use Driver Verifier.
 Driver verifier is not included in Windows 10 S. We recommend testing driver behavior in Windows
10 instead.

When to use Driver Verifier


Run Driver Verifier throughout the driver development and test process.

 Use Driver Verifier to find problems early in the development life cycle, when they are easier and less
costly to correct.
 Use Driver Verifier when you deploy a driver for testing using the WDK, Visual Studio, and
the Windows Hardware Certification Kit (HCK) tests. See Testing a Driver.
 Use Driver Verifier for troubleshooting and debugging test failures and computer crashes.
How to start Driver Verifier
You should only run Driver Verifier on test computers, or computers you are testing and debugging. To get
the most benefit from Driver Verifier, you should use a kernel debugger and connect to the test computer.
See Windows Debugging.

1. Open a Command Prompt window (Run as administrator) and type verifier to open the Driver
Verifier Manager.
2. Select Create standard settings (default) and click Next.

You can also choose Create custom settings to select from predefined settings, or to select individual
options. See Driver Verifier Options and Selecting Driver Verifier Options for more information.

3. Select a driver or drivers to verify.


Option Recommended use

Automatically select Useful option for testing on computers running versions of Windows
unsigned drivers that don't require signed drivers.

Automatically select Useful option for testing driver compatibility with newer versions of
drivers built for older Windows.
versions of Windows

Automatically select Provides maximum coverage in terms of the number of drivers that are
all drivers installed on tested on a system. This option is useful for test scenarios where a
this computer driver can interact with other devices or drivers on a system.

This option can also exhaust the resources available for Special
Pool and some resource tracking. Testing all drivers can also adversely
affect system performance.

Select driver names In most cases, you will want to specify which drivers to test.
from a list
Selecting all drivers in a device stack allows the Enhanced I/O
Verification option to track objects and check compliance as an IRP is
passed between each of the drivers in the stack and allows for a
greater level of detail to be provided should an error be found.

Select a single driver if you are running a test scenario that measures
system or driver performance metrics, or if you want to allocate the
greatest number of resources available for detecting memory
corruption or resource tracking issues (deadlocks, mutexs). The Special
Pool and I/O Verification options will be more effective when used on
one driver at a time.

4. Click Finish and reboot the computer.

Note You can also run Driver Verifier in a Command Prompt window. For example, to run Driver Verifier
with the standard settings on a driver called myDriver.sys, you would use the following command:
Copy

verifier /standard /driver myDriver.sys

See Driver Verifier Command Syntax for more information.


How to control Driver Verifier
To stop or reset Driver Verifier
1. Open a Command Prompt window (Run as administrator) and type verifier to open the Driver
Verifier Manager.
2. Select Delete existing settings.
3. Reboot the computer.

Or type the following command in a Command Prompt window and reboot the computer.
Copy

verifier /reset

To view Driver Verifier settings

1. Open a Command Prompt window (Run as administrator) and type verifier to open the Driver
Verifier Manager.
2. Select Display existing settings.

Or type the following command in a Command Prompt window.


Copy

verifier /querysettings

To view Driver Verifier statistics

1. Open a Command Prompt window (Run as administrator) and type verifier to open the Driver
Verifier Manager.
2. Select Display information about the currently verified drivers.

Or type the following command in a Command Prompt window.


Copy

verifier /query

How to debug Driver Verifier violations


To get the most benefit from Driver Verifier, you should use a kernel debugger and connect to the test
computer. See Windows Debugging for more information.

If Driver Verifier detects a violation, it generates a bug check to stop the computer. This is to provide you
with the most information possible for debugging the issue. When you have a kernel debugger connected
to a test computer running Driver Verifier, if Driver Verifier detects a violation, Windows breaks into the
debugger and displays a brief description of the error.

All Driver Verifier violations result in bug checks, the most common ones (although not necessarily all of
them) are:

 Bug Check 0xC1: SPECIAL_POOL_DETECTED_MEMORY_CORRUPTION


 Bug Check 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION
 Bug Check 0xC6: DRIVER_CAUGHT_MODIFYING_FREED_POOL
 Bug Check 0xC9: DRIVER_VERIFIER_IOMANAGER_VIOLATION
 Bug Check 0xD6: DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION
 Bug Check 0xE6: DRIVER_VERIFIER_DMA_VIOLATION
When you start a new debug session, use the debugger extension command !analyze. In kernel mode,
the !analyze command displays information about the most recent bug check. The !analyze -vcommand
displays additional information and attempts to pinpoint the faulting driver.
Copy

kd> !analyze -v

In addition !analyze, you can use the following debugger extensions to view information specific to Driver
Verifier:

 !verifier dumps captured Driver Verifier statistics. Use !verifier -? to display all of the available
options.

Copy

kd> !verifier

 !deadlock displays information related to locks or objects tracked by Driver Verifier's deadlock
detection feature. Use !deadlock -? to display all of the available options.

Copy

kd> !deadlock

 !iovirp [address] displays information related to an IRP tracked by I/O Verifier. For example:

Copy

kd> !iovirp 947cef68

 !ruleinfo [RuleID] displays information related to the DDI compliance checking rule that was violated
(RuleID is always the first argument to the bug check. All DDI Compliance Checking RuleID are in the
form 0x200nn). For example:

Copy

kd> !ruleinfo 0x20005

You might also like