Quote:
Originally Posted by Evilcry
Enterprise grade Device Driver development is done with Standard OS images, debugging performed by running the driver in VirtualMachine ...
|
I would beg to differ with EvilCry on this. The development and testing is BEST done on specialized build systems that have the LEAST bit of interferring services and software running on them.
For the development of complex (especially kernel-level) drivers, we use specialized trimmed builds of windows that are VERY lean.
The logic being, that when we want to develop drivers and ensure that the driver(s) themselves are running and performing their functions without issues, it is a LOT easier to debug them when very few services are running in parallel on that system.
Otherwise it becomes very tedious to debug at every stage and see as to whether the driver itself is faulty or whether compatibility with the running services is the issue.
Also, the debugging itself is VERY fast with a system running a minimal set of services on it.It of course goes without saying that for kernel level debugging we require two machines (virtual or real).
It is only when we have determined that the driver itself is functioning as expected, that we switch to debugging and testing on "real" systems that mimic the Retail Builds as closely as possible.
Regards