I spent some time poking around at techsupportforum.com in their Windows Vista Support area. For those not already in the habit, let me observe that it’s amazing how much you can learn from reading through other user’s problems along with the tools and techniques that knowledgeable experts suggest to help them ease their afflictions, or at least start shooting back at what troubles them. While reading through a thread from a person suffering from driver problems, I learned about the Windows Driver Verifier, aka verifier.exe. But that’s not all I learned…
As I plowed through a large number of other pleas for assistance, I realized that lots of people are going through the same kinds of Vista stability and reliability problems I’ve been having until recently. I also observed that many of them could also trace their troubles to the same two culprits that I ulimately learned were wreaking havoc on my system: graphics subsystem and related driver issues, and problems arising from choosing security software components such as firewalls, anti-virus, anti-spyware, and so forth that came from multiple vendors and couldn’t get along with one another. If misery loves company, then at least she hasn’t been lonely where the legions of Vista users are concerned.
As for verifier.exe, it’s a tool that’s designed primarily for driver developers, to let them garner all kinds of forensics. It tells them about what drivers are doing, and what kinds of memory accesses they’re making. It also tracks what kinds of “reservations” drivers place on system resources, for how long, and whether or not those reservations cause conflicts or remain in effect longer than they should. All of this information is very helpful when testing and debugging driver code, because errors or misbehavior at this level can wreak total havoc on systems on which they’re installed.
The Microsoft documentation for Driver Verifier fails to underscore one very important point, however. That is, any problem this tool finds, no matter how trivial, or how earth-shattering, is reported in the same way: by a forced Bluescreen that provides information about what it finds, but that also forces the system on which it’s running to reboot or shut down. To my way of thinking, that makes Driver Verifier relatively limited as a utility for production systems where curiosity (as in my case) or where modest difficulties that don’t cause bluescreens need investigation. Unless you’re dealing with a system that’s experiencing regular bluescreens, what good is a tool that reports what it finds only in the form of a bluescreen?
That said, Driver Verifier can be a potential lifesaver when chronic driver-related BSODs need troubleshooting. To launch this program, you must log in as Administrator or right-click on cmd.exe and select the “Run as Administrator” option. Enter verifier at the command line, and you’ll bring up the Driver Verifier Manager. This will cycle you through numerous screens where you can select all kinds of settings that control Driver Verifier’s behavior, and then target the drivers you want the program to monitor on your behalf. To enable Driver Verifier, you must reboot your machine after committing your initial settings, after which it goes to work in the background.
The initial Driver Verifier Manager screen provides radio buttons to control the program’s behavior.
At its most granular, Driver Verifier Manager offers control over 13 different settings
(the troubleshooting advice I saw called only for the first three items to be checked along with all third-party drivers on the next screen).
When Driver Verifier finds anything, it immediately forces a STOP error and uses the information fields associated with that error to report what kinds of issues it has uncovered. This is all well and good when you’re dealing with a machine that’s crashing regularly, but somewhat vexing when you’re trying to make sure everything is working properly, or when simply looking for potential rather than known causes of trouble. Nevertheless, Driver Verifier is the kind of tool that when it’s needed is needed very badly, to which the corollary is: “If you don’t need it badly, don’t mess with it!” Perhaps that makes it academic that Driver Verifier is pretty well-designed, and able to do everything at the command line that its GUI interface allows as well.
Those whose situations dictate that they should indeed dig further into this tool will find these links useful:
- Driver Verifier Overview
- Driver Verifier Documentation
- Driver Verifier Options
- Using Driver Verifier