Chapter 6. Debugging Drivers

The following sections describe how to debug your hardware-access application code.

6.1. User-Mode Debugging

  • Since WinDriver is accessed from the user mode, we recommend that you first debug your code using your standard debugging software.
  • The Debug Monitor utility [6.2] logs debug messages from WinDriver's kernel-mode and user-mode APIs. You can also use WinDriver APIs to send your own debug messages to the Debug Monitor log.
  • When using WinDriver's API (such as WD_Transfer() — see the WinDriver PCI Low-Level API Reference), to read/write memory ranges on the card in the kernel, while the Debug Monitor [6.2] is activated, WinDriver's kernel module validates the memory ranges, i.e., it verifies that the reading/writing from/to the memory is in the range that is defined for the card.
  • Use DriverWizard to check values of memory and registers in the debugging process.