Technical Document #12

Technical Document #12
What is the wddebug_gui Debug Monitor utility and how can I use it?

WinDriver's Debug Monitor is an application program that logs detailed debugging information from the WinDriver kernel.
wddebug_gui (found at WinDriver/util, or at /Applications on Mac OS X — in the WinDriver versions that support this OS) is a fully GUI version of this utility, for Windows, Mac OS X, and Linux.
The Debug Monitor has an additional version — wddebug — which supports console-mode usage on Windows, Windows CE, and Linux, (and in earlier WinDriver versions — on Mac OS X, Solaris, and VxWorks as well), and also supports GUI execution on Windows CE. For a description of wddebug refer to Technical Document #13 — for Windows, Windows CE, Mac OS X, Linux, and Solaris — or to Technical Document #14 — for VxWorks.
A detailed description of both versions of the Debug Monitor utility can be found in the WinDriver User's Manuals. This document describes how to use wddebug_gui in the latest WinDriver version.
References to the Debug Monitor in the following text should be taken to refer to the wddebug_gui version of this utility.

To start the Debug Monitor, do one of the following:

  • Run wddebug_gui from the WinDriver/util directory (or from /Applications on Mac OS X — in WinDriver versions that support this OS).
  • From the DriverWizard, select Tools –> Debug Monitor.
  • On Windows platforms, you can run the program from the Start menu: Start –> Programs –> WinDriver &ndsah;> Debug Monitor (or Monitor Debug Messages — in version 5.0.5b or earlier of WinDriver).
When the Debug Monitor starts, it prints a message specifying the program version and OS information.

The debug messages follow after this whenever you perform an operation with WinDriver. When sending the debug messages to the Jungo Connectivity support personnel, do not delete the initial driver and system information from the Debug Monitor window.

The Debug Options menu, which is available from the Debug Monitor's View menu, allows you to set the debug level and sections for which to receive debug messages. Additional configurations can be made via other Debug Monitor menu options and via the toolbar.

When reporting a problem, run the Debug Monitor, set the debug level to Trace (which implies that the maximum level of debugging information will be logged), leave the debug window open, run your application, reproduce the problem, and then send us the entire output of the debug log.
Note that you can add custom messages to the debug log during execution (beginning with v11.7.0 of WinDriver) via the Debug Monitor's Edit –> Add Custom Message... menu option.
Please observe the lines in the Debug Monitor around where your problem occurs, and insert a remark there for our support personnel.

You can also use the Debug Monitor to debug problems on a target machine on which only the WinDriver driver(s) and your application were installed, and not the entire WinDriver tool-kit: Just copy the wddebug_gui program to this machine, and run it directly on the target.

You can use the WD_DebugAdd() function to send your own debug messages from the code to the debug log. This function is available beginning with v5.0.3 of WinDriver, and is described in the function reference section of the WinDriver User's Manual. Please note that this function can be called from both a user-mode and a kernel-mode application, and can even be called from within the Kernel PlugIn KP_IntAtIrql() function, which is executed at HIGH IRQL.

For an explanation on how to send debug messages from the Debug Monitor to a kernel debugger, refer to Technical Document #44.