Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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?

share|improve this question
    
    
    
This tool is for driver developers and not regular windows users....msdn.microsoft.com/en-us/windows/hardware/gg487310 –  Moab Aug 25 '11 at 20:17
1  
More detail here...support.microsoft.com/kb/244617 –  Moab Aug 25 '11 at 20:20
add comment

3 Answers

up vote 5 down vote accepted

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

share|improve this answer
    
"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 '11 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 '11 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.) –  robjb Aug 25 '11 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... :) –  Tom Wijsman Aug 25 '11 at 23:27
add comment

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

share|improve this answer
    
Verifier will create something like a result report of tests? –  Diogo Aug 25 '11 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. –  techie007 Aug 25 '11 at 20:38
add comment

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.

share|improve this answer
    
In Safe Mode, you can just run Driver Verifier again to turn it back of. –  Tom Wijsman Aug 25 '11 at 23:32
1  
If only I had known that at the time... –  Bigbio2002 Aug 26 '11 at 20:04
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.