How does Windows Driver Verifier works and how to run it?

Well, you've already stated how it works at the most basic level (by replacing Windows system calls.) The link you posted has a pretty good explanation of what it does, and what it can test:

It can simulate certain conditions such as low memory, I/O verification, pool tracking, IRQL checking, deadlock detection, DMA checks, IRP logging etc.

It also has a slightly more detailed summary of how it works:

Once enabled, it monitors and stresses drivers to detect illegal function calls or actions that may be causing system corruption.

...

The verifier works by forcing drivers to work with minimal resources, making potential errors that might happen only rarely in a working system manifest immediately.

And how to use it:

Typically fatal system errors are generated by the stressed drivers in the test environment, producing core dumps which can be analysed and debugged immediately; without stressing, intermittent faults would occur in the field, without proper troubleshooting facilities or personnel.

If you aren't doing kernel or driver development, I don't think this has much use to you (other than to perhaps stress your drivers and determine if any are unstable.) This is because it requires that you understand how to analyze a core dump.

If you decide to use it, "Microsoft recommends not all drivers should be verified at the same time."

Excellent Tutorial Here


It's for testing custom and potentially faulty drivers. You've turned it on and rebooted, and now it's analysing and adjusting the drivers as you use them, so that if they give you troubles you'll have more information (better dumps) to help figure out what's failing.

Leaving it running (when not actively trying to diagnose something) will slow your system down.

Anyhow -- info about it and how to use it is provided by MS here ("About Driver Verifier") and here ("Using Driver Verifier to identify issues with Windows drivers for advanced users").

Here's some good info (even though it's XP-centric) as well: "How Windows XP's Device Driver Verifier Works".

Also check out the out-of-date http://www.windbg.info/ for lots of fun Windows debugging information. :)


I turned on Driver Verifier once out of curiousity like yourself... then I forgot about it. I'm the type that only reboots my computer once a month or less, and when it finally came time for a reboot, I got a pretty nasty bluescreen (caused by the more stringent driver checks). I managed to get into safe mode and disable it by a registry edit.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager

Do your best to remember that path, or else you'll be stuck when something goes wrong.