VisualDDK

Develop/debug Windows drivers directly from Visual Studio!

SourcesDownload

Overview

VisualDDK is a Visual Studio extension that allows developing and debugging Windows kernel-mode drivers.Here are the main highlights:

  • Provides a wizard for creating driver projects
  • Allows debugging drivers directly from Visual Studio just like the user-mode applications
  • Maps error messages and enables IntelliSense
  • Automatically installs drivers on a remote machine over TCP/IP
  • Supports a custom debug transport for very fast kernel-mode debugging with VirtualBox and VMWare

Latest version

The latest version of VisualDDK is 1.5.6. The source code can be downloaded here.

All features

  • Allows developing, building and debugging drivers directly from Visual Studio.
  • Fully compatible with Windows 7 and Visual Studio 2010.
  • Allows creating projects based on existing code.
  • Contains a Driver Wizard allowing to create new driver projects or import existing code.
  • Provides a Launcher allowing to copy and start your drivers on a remote machine directly from VS.
  • Loads kernel symbols much faster than WinDbg.
  • Resolves symbols by names (or indicates an error) much faster than WinDbg by using hash tables and DIA interface.
  • Visualizes NT types in a convenient way (see Expression Visualizer and VisualDDKHelpers pages).
  • Based on WinDbg debugging engine, thus, supports all connection types, protocols, settings and console commands, supported by WinDbg.
  • Automatically completes WinDbg commands, similarily to Visual Studio's IntelliSense.
  • Visualizes STL containers used in drivers
  • Supports system function parameter lookup

Screenshots

A typical debugging session with VisualDDK looks like this:


screenshot debugger
(click to enlarge)

This is the Driver Wizard window, allowing you to create new driver projects directly from Visual Studio IDE:

screenshot wizard
(click to enlarge)

This is the Visual Studio watch window illustrating, how the Expression Visualizer works:


screenshot watch
(click to enlarge)

This is the VisualDDK Launcher setup dialog that allows selecting, how exactly is your driver copied to remote machine and launched there:

screenshot launcher
(click to enlarge)

Bugs

Please do not hesitate to report all found bugs (please create dump files using Visual Studio) via the SysProgs.org Forum.