Driver Verifier is a Windows tool used to monitor and stress drivers to detect any unintended behavior. It’s a tool meant to be used on development systems by driver developers rather than on production systems by normal users. In fact, Microsoft cautions users to do the same.

However, you’ll often see users on forums being advised to use Driver Verifier to troubleshoot driver issues and BSODs. So, what’s the reality? Is Driver Verifier safe to use, and should you use it on your system? We’ve attempted to answer these and similar queries in this article.

What Is Driver Verifier? Should You Use It?

Windows NT Device Drivers use kernel mode structures called I/O request packets (IRPs) to communicate with the OS and each other. The Driver Verifier monitors these IRPs and checks for IRP assignment and completion errors.

create-standard-settings-driver-verifier-settings

The Driver Verifier allows you to put drivers through heavy stress loads by simulating certain conditions like low memory, pool tracking, or deadlock detection. you may recreate potential errors by forcing drivers to work with minimal resources and utilize the generated dumps to analyze and debug the problem.

As stated, this is generally done in test environments when developing the drivers. But sometimes, you’ll have to run the Driver Verifier on production machines. And there arises the question, is that even safe?

Well, it’s complicated. First of all, Microsoft has explicitly cautioned against trying to verify all drivers at once as this would severely degrade performance, limit the effectiveness of the verifier, and pretty much make the system unusable. And yet, this is how most users utilize the Driver Verifier.

options-in-driver-verifier

But it’s also true that in rare cases, even if you utilize the Driver Verifier properly, you could still get stuck in aDriver Verifier bugcheck loop. Essentially, it could cause more crashes than it solves. But like we said, this is highly unlikely to happen if proper procedure is followed

Ultimately, our verdict is that you should only use this on production machines if you’ve already tried other debugging tools with no success.

How to Use Driver Verifier?

Driver Verifier is included by default on most Windows versions and can be run with theverifiercommand. But before you run it, there are a few things worth noting first:

driver-verifier-drivers-to-verify

For maximal effectiveness, Microsoft recommendssetting up network debugging. But this isn’t feasible for most users, and regardless of whether you set up the debugging session or not, the steps to follow on the target (crashing) computer are the same:

Analyze Minidump File

you may usedebugging tools like WinDbg or KDto analyze the dump files and figure out the faulty drivers. In either case, for the CLI methods, you’ll first want to append the symbol path to point to the Microsoft symbol store.

This will allow the debugger to automatically retrieve the correct symbol files without requiring information like product names, releases, or build numbers from you. you may do this with the.symfixcommand as such:.symfix[+] [LocalSymbolCache]

driver-verifier-detected-violation-bugcheck

sympath-symfix

open-dump-file-1024x821

windbg-analyze-1024x614

verifier-reset