7

Today I found a program called "Windows Driver Verifier" in Windows Components. On Windows I could determine that it is the Verifier.exe process. As far as I could see, the major feature of it is to test and stress windows drivers, looking for any errors that happen:

"Driver Verifier is a tool included in Microsoft Windows that replaces the default operating system subroutines with ones that are specifically developed to catch device driver bugs."

I tried to run it, however I do not understand how it works... I followed its steps, and on the final screen, it told me to reboot my machine. I did so and absolutely nothing happened.

So, has someone already used this program before? How does it work, and what kind of tests can I run with it?

4

3 Answers 3

6

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

4
  • "other than to perhaps stress your drivers and determine if any are unstable" this is the reason why I want to use it. Thanks for clarify explanations :D
    – Diogo
    Aug 25, 2011 at 20:21
  • 3
    "If decide to use it, "Microsoft recommends not all drivers should be verified at the same time."...sevenforums.com/drivers/…
    – Moab
    Aug 25, 2011 at 20:22
  • @Diogo It is for testing driver stability, but as others have said, it's intended for developers. Once you know what driver is crashing, the most you could do is check for an updated driver (which may or may not exist.)
    – Rob
    Aug 25, 2011 at 20:27
  • +1 I've successfully used this for stress testing drivers; I actually analyzed and send a BSOD that caused this to crash to the Soluto team, amongst other smaller issues which had trivial fixes (if you use WinDBG). Apart of a memory leak in my GPU which causes infrequent gaming freezes on a non-regular basis, I'm pretty sure my laptop is as stable (also using other stability/error tests) as it can be... :) Aug 25, 2011 at 23:27
2

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. :)

2
  • Verifier will create something like a result report of tests?
    – Diogo
    Aug 25, 2011 at 20:25
  • It mostly reports statistics (pool usage, etc.). You can set up the verifier to create log files, and/or use the !verifier command in the kernel debuggers (ie: WinDbg/KD) to get additional debug information from those statistics, etc. Aug 25, 2011 at 20:38
2

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.

2
  • 2
    In Safe Mode, you can just run Driver Verifier again to turn it back of. Aug 25, 2011 at 23:32
  • 2
    If only I had known that at the time...
    – Bigbio2002
    Aug 26, 2011 at 20:04

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .