Driver code is more difficult to debug than user programs because:
The driver interacts directly with the hardware
The driver operates without the protection of the operating system that is available to user processes
Be sure to build debugging support into your driver. This support facilitates both maintenance work and future development.