I have used VtoolsD, DriverWorks, and Softice. I found SoftIce useful when
the debuggers from Microsoft were in need of debugging themselves. It is
also useful if you have a single product that needs to run on 9x & NT, so
the debugger has a similar interface.
So many developers who use C++ don’t realize that the first implementations
were just a translator from the C++ to standard “C” code that was then
compiled by a old compiler. Most of the features suitable to use in drivers
are still in the same category. A class is just a structure but instead of
referencing it via an explicit pointer, the pointer is implicit and handled
by the compiler.
I do like DriverWorks. I have a few good reasons to use it that apply to my
experience. Accessing the registry and debug display support can be made
much easier and simpler to code. The debug stuff is only useful during
development, but we need all the help we can get. Of course, you could
write the registry access functions and just “cut and paste” to future
projects, but why bother?
It is expensive and Microsoft has not done much itself to reduce costs.
Windbg is “free”, but you still have to download it. Just printing the user
guide will chew up most of a ream of paper. MSDN is absurdly expensive and
appears designed to limit the ability to develop to those who have deep
pockets. MSDN Universal costs more than the two computers you need to write
drivers. Add in the IFS Kits and you need $10,000 just to start in the
first year. Remember when many shareware developers could write useful
utilities, TSRs, and drivers for MS-DOS with little or no expense except the
hardware. The costs seem to have shifted from hardware to software. I just
read that Microsoft has said that its costs for their operating systems is
only $0.15 or $0.16 per dollar charged. Nice margins!
If you are experienced with a good toolbox, then the only one you have to
pay is Microsoft. The Numega and other tools are optional. Even Microsoft
apparently uses PC-Lint, which might be the only other thing to buy.
----- Original Message -----
From: “Mark Roddy”
To: “NT Developers Interest List”
Sent: Monday, December 09, 2002 4:24 PM
Subject: [ntdev] Re: Writng and Debuging Drivers in C++
> I do not use softice, so I can only speak about windbg and c++, which
> work just fine together. Given that Compuware/Numega sells a kernel c++
> class library in the same package as softice, I suspect that softice is
> able to debug c++ without major issues.
>
>
>
> ===========================
> Mark Roddy
> Consultant, Microsoft DDK MVP
> Hollis Technology Solutions
> xxxxx@hollistech.com
> www.hollistech.com
> 603-321-1032
>
>
> -----Original Message-----
> From: “Quang Vu”
> To: “NT Developers Interest List”
> Date: Mon, 9 Dec 2002 14:47:43 -0500
> Subject: [ntdev] Writng and Debuging Drivers in C++
>
> > Hi the expert,
> >
> > I have never done development drivers in C++. Eventually, I will have
> > to.
> > I wonder how hard it would be debuging Drivers in C++ using soft-ICE
> > Is it a nightmare ? Or it is as easy as debuging drivers wrtiiten in C.
> > For example how hard view or dump the content of a member variable of a
> > driver class ?
> >
> >
> > Thanks for any feedback
> >
> > —
> > You are currently subscribed to ntdev as: xxxxx@hollistech.com
> > To unsubscribe send a blank email to %%email.unsub%%
>
>
>
> —
> You are currently subscribed to ntdev as: xxxxx@yoshimuni.com
> To unsubscribe send a blank email to %%email.unsub%%