Windows IT Pro is the authoritative and independent resource for windows nt, windows 2000, windows 2003, windows xp. Features a collection of resources and magazines for windows IT professionals.
  
  
  Advanced Search 


May 1999

SoftICE


RSS
Subscribe to Windows IT Pro | See More Products / Hardware Articles Here | Reprints | Or get the Monthly Online Pass—only $5.95 a month!

My role as a device driver developer and student of Windows NT internals often requires me to go beyond where standard Win32 debuggers, such as Microsoft Visual C++ (VC++), can go. For stepping through NT's kernel, or tracing the execution flow from user space into the kernel, you need a kernel-mode debugger. Microsoft provides WinDbg as part of its Windows NT Software Development and Device Driver Development kits, so this product is essentially free when you buy a Microsoft Developer Network subscription. However, WinDbg has several limitations. The only alternative debugger on the market is Compuware NuMega's SoftICE for NT, and although it has a high price tag, it's a necessity for a serious kernel-mode programmer.

To understand why SoftICE is attractive, you must first understand what you get with WinDbg. It's a two-computer debugging solution, where the command GUI runs on a computer that you connect to the one you are debugging (the target) via a standard NULL-modem serial cable. The WinDbg GUI interprets commands you enter for setting breakpoints in device drivers or the NT kernel, for freezing and unfreezing the target, and for stepping through instructions. One of WinDbg's features is that the GUI is a standard Windows application with subwindows for displaying disassembly, source code, a call stack, local variables, and processor registers. Some of the drawbacks to relying on WinDbg include the following: It has numerous quirks and bugs, and Microsoft doesn't support it; it has poor support for stepping through code not related to a device driver under development; it can't follow a transition from user mode to kernel mode or vice versa; and it transmits large amounts of data across a serial line, which is slow.

SoftICE runs on the computer that you are debugging, which makes it extremely responsive when scanning memory or capturing large amounts of debug output, and it doesn't suffer some of WinDbg's limitations. When you break into SoftICE— either when you hit a breakpoint during program execution or when you enter a hot key—it freezes the machine, stores away the video display, and pops up its own character-oriented windows. The interface is essentially the same as WinDbg's and shares many of the same commands, but it's less flexible and less attractive. Nevertheless, the ability to set breakpoints in the kernel or standard device drivers and then step up into a standard program such as NT Explorer makes SoftICE a powerful tool for understanding how NT works. This comprehension is especially desirable in the world of device driver programming, where many APIs are poorly documented. In addition, SoftICE has intrinsic knowledge of several key NT data structures that WinDbg doesn't, which simplifies navigating past the boundaries of your device driver.

SoftICE's utility doesn't stop at kernel-mode programming—it's also a powerful Win32 debugger. Although it's difficult to debug interapplication interactions, or interactions between an application and the OS, using Visual Studio's debugger, SoftICE makes this task relatively easy. Again, you can seamlessly follow execution from your Win32 application into system DLLs and then into the kernel and back.

SoftICE's relatively high price tag, especially when you compare it to the cost of WinDbg (free), might make it a hard purchase to justify. In the world of device driver development, however, this tool is essential, even if your primary debugger will continue to be WinDbg. You can always pull out SoftICE to help you in situations where WinDbg isn't up to the task. Perhaps the most compelling reason to move to this product is that Compuware NuMega fully supports it. When you're debugging complex device driver code, the most annoying bugs are those in the tools you are using; a product that provides bug fixes in a timely manner is worth its weight in debugged lines of code. SoftICE will continue to be the coauthor of my NT Internals column, helping me to understand NT beyond its documentation.

SoftICE
Contact: Compuware NuMega * 603-578-8400
Web: http://www.numega.com

End of Article



Reader Comments
Hello sir
I have softice, i don't know how I debug the driver, my driver is crased after some time . can you send me the steps how i debug a driver ?

Pradeep Kumar Mishra October 31, 2003


is softice freely available , like dos version or commercially, if not what is its cost.

kiran December 16, 2003


can softice run under windows me.
please explain how
is there a patch or what
if possible would u please send me the link for this matter
thanks

R. Rustom April 06, 2004


Who if anyone has a affiliate program for websites that promote Softice and perhaps other debuggers, like revirgin, ida, cross assemblers, compilers, etc?
and such

Chris Meyer April 18, 2004


where can i get softICE for windows xp?

snuffy April 23, 2004


Go to www.compuware.com (i think that they bought out NuMega)

Kal June 09, 2004


where can i get a free download of softICE for windows xp and how can i use it?

max June 14, 2004


You guys REALLY need to get a clue.
Ever heard of Google?
How about cracking the spine of a programming book?

Funny ppl June 17, 2004


Is softice working in Windows NT too??
Where can i get it for free?

sohdi June 25, 2004


Sheesh, not quite in my price range... Suggestion that I'm looking into: Two copies of OS running under VMWare and using WinDbg...

Anonymous User November 15, 2004 (Article Rating: )


 See More Comments  1   2   3   4   5   6   7   8   9   10   11   12   13   14   15 

You must log on before posting a comment.

If you don't have a username & password, please register now.




Top Viewed ArticlesView all articles
WinInfo Short Takes: Week of November 24, 2008

An often irreverent look at some of the week's other news, including a Vista Capable dismissal request, Zune price reductions, Morrow musings, Novell and Microsoft sitting in a tree ... two years later, Yahoo!, IE 6 on Windows Mobile, and so much more ...

Command Prompt Tricks

One reader shares his tip for setting up the command prompt to reflect a remote path. ...

Next Version of Exchange Named Exchange 2010?

Microsoft apparently inadvertently announced the official name of the next version of Exchange Server. ...


Windows OSs Whitepapers Why SaaS is the Right Solution for Log Management

Related Events SQL Server 2008 – Can You Wait? | Philadelphia

SQL Server 2008 – Can You Wait? | Atlanta

Check out our list of Free Email Newsletters!

Windows OSs eBooks Understanding and Leveraging Code Signing Technologies

A Guide to Windows Certification and Public Keys

SQL Server Administration for Oracle DBAs

Related Windows OSs Resources Become a VIP member of the Windows IT Pro community!
Get it all with the VIP CD and VIP access. A $500+ value for only $279!

Subscribe to Windows IT Pro!
Solve your toughest technical problems with our experts and access 10,000 + articles online. 30% off

Monthly Online Pass - Only $5.95!
Get instant access to 10,000+ articles from Windows IT Pro Magazine!

TechNet Virtual Labs
Evaluate and test Microsoft's newest products.


Windows IT Pro Home Register FAQ for Windows WinInfo News
Europe Edition About Us Contact Us/Customer Service Media Kit Affiliates / Licensing  
SQL Server Magazine Office & SharePoint Pro Windows Dev Pro IT Job Hound ITTV
IT Library Technology Resource Directory Connected Home Windows Excavator Windows SuperSite 
 
 Windows IT Pro is a Division of Penton Media Inc.
 Copyright © 2008 Penton Media, Inc., All rights reserved. Terms and Use | Privacy Statement | Reprints and Licensing