News

Review: Compuware DriverStudio

DriverStudio 3.0
$2,499
Compuware Corporation
Detroit, Michigan
(313) 227-7300
www.compuware.com

It's refreshing in this day and age to open a software box and find that it's actually filled with paper manuals. But then, that's understandable: device driver development is one of the more complex and specialized parts of writing Windows software, and DriverStudio offers a wide breadth of tools to help in this endeavor.

Start with the basics: DriverStudio integrates Visual Studio with the DDK so you can actually use a modern IDE to develop device drivers, instead of just writing code in Notepad (or, to be fair, the programmer's editor of your choice). Then you also get class libraries and wizards to generate the shell of your driver quickly, avoiding a lot of manual grunt work. The manuals also include extensive documentation of both the class library and the Windows Driver Module, making it easier to find your way around this area of coding.

Then there's DriverWorkbench, a set of testing and debugging tools for device drivers. BoundsChecker catches a host of API errors. TrueTime is a performance analysis tool, and TrueCoverage is a code coverage analysis tool to let yo make sure you've tested everything. There are also various other tools to load, unload, and install drivers, take a system snapshot, display debug output, and so on.

Finally, you get not one, but two high-end debuggers as part of this package: SoftICE and Visual SoftICE. SoftICE is a traditional single-machine debugger that seizes control of the entire machine when you activate it (via a hotkey, breakpoint, exception, or crash). Visual SoftICE, in contrast, is a dual-machine debugger. A small core of code runs on the machine with the driver you're debugging, and the Visual SoftICE user interface runs on a second computer, connected by serial port, IP, or IEEE 1394. Each of these debuggers has its own strength (SoftICE, for example, doesn't insert any code that might confound a network driver, while Visual SoftICE lets you see what's happening inside a failing display driver). Between the two of them, you can debug on any system from MS-DOS to Windows XP 64-bit edition.

If you have enough hardware, you'll want to install DriverStudio in a distributed setting, with the core monitoring components and drivers on a target machine and the IDE on a host machine. If you're strapped for hardware, you can put everything on one computer. If you're really rich, a single host can connect to multiple targets.

Obviously, DriverStudio is not for everyone. But if you're trying to do device driver development, you need to invest in a solid debugger, at the very least. You'll find that here, along with plenty of other components to make your life easier.


............

For more reviews and opinions from Mike Gunderloy, click here.

About the Author

Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.