RES: Can I still buy SoftICE?

Sorry, couldn’t resist (admittedly wandering more than a bit off-topic)…

>
Maybe a debugger is like particle physics in that observing something
changes it.
<<

I can think of several examples of this principle long before you reach that level of granularity, and in other fields than physics or software. Here are two:

  1. The most frustrating electronics diagnosis problems are the ones where a faulty circuit works whenever you connect the test equipment to it (yes, even a simple 'scope probe can do the trick if you’re unfortunate enough to be the designated troubleshooter for one of these).

  2. Well-designed experiments in the social sciences (and even in zoology, at least for the more aware sorts of animals) need to go to some lengths to make sure the observer isn’t interfering with the behavior he or she is attempting to observe.

Single machine debugging is about comfort, not the price. I have 3 stable computers around me and don’t bother to connect WinDbg because it is just annoying. SI allows me to pop-up it immediatelly when I need it, examine system guts, catch asserts whenever my driver or one of apps raises one, put breakpoints inside system drivers and so on. No need to reboot, start other computer and connect debugger.

Well, if WinDbg supports something better at Vista, I’d really like to know. Till now there are rumors but nobody wrote about real experience. Still skeptic.

Best regards,

Michal Vodicka
UPEK, Inc.
[xxxxx@upek.com, http://www.upek.com]


From: xxxxx@lists.osr.com[SMTP:xxxxx@lists.osr.com] on behalf of David Craig[SMTP:xxxxx@yoshimuni.com]
Reply To: Windows System Software Devs Interest List
Sent: Wednesday, February 28, 2007 6:35 PM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] RES: Can I still buy SoftICE?

Maybe a debugger is like particle physics in that observing something
changes it. There is some of that with windbg since the real debugger is
part of the OS and not the fancy GUI on the host. When computers cost $5k
then a single machine debugger made sense and the GUI/app guys have one with
Visual Studio. The main use for SoftIce was that they had a useful debugger
for 9x and by using their NT version, you could stick with similar
interfaces and commands between them.

wrote in message news:xxxxx@ntdev…
> >> The local debug facility in windbg would be further expanded in Vista.
> >
> > Well, in order to make it possible to debug the local machine “expanding
> > local debug facility” is just not enough - they would have to change the
> > whole architecture, and make it SoftIce-like (i.e.
> > no message-orienteded GUI and no separate process). Certainly, if they
> > wish to go this way, I am really glad…
> >
> > Anton Bassov
> >
> >
> >
>
>
>
> —
> Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
>
> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
>

> Maybe a debugger is like particle physics in that observing something changes it.

No, the idea here is quite different - if you want observation to be reliable, you have to make sure that the target of observation does not change its state transparently to the observer…

This is why you have to “freeze” all threads, apart from the one that is currently being debugged, when you do kernel-mode debugging. Once WinDbg runs as a process that relies upon message-based GUI, it is just unable to run on the target machine while you single-step through the code.

Therefore, in order to make single-machine debugging with WinDbg possible, they have to change its whole architecture.

Anton Bassov

Anton,

Unfortunately the act of running the debugger is a disturbance.
Perhaps with virtualization technology we could freeze everything, but
right now a debugger is guaranteed to have an impact, if only in timing and
a few pages. This leads to the Heisenbugs referred to in this thread
(though not by that name), which is why some of us like WinDBG the way it
is since it has a small footprint and limits the impact.


Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply

wrote in message news:xxxxx@ntdev…
>> Maybe a debugger is like particle physics in that observing something
>> changes it.
>
> No, the idea here is quite different - if you want observation to be
> reliable, you have to make sure that the target of observation does not
> change its state transparently to the observer…
>
> This is why you have to “freeze” all threads, apart from the one that is
> currently being debugged, when you do kernel-mode debugging. Once WinDbg
> runs as a process that relies upon message-based GUI, it is just unable
> to run on the target machine while you single-step through the code.
>
> Therefore, in order to make single-machine debugging with WinDbg
> possible, they have to change its whole architecture.
>
> Anton Bassov
>
>

Don,

Unfortunately the act of running the debugger is a disturbance

This is 100% true - even if you freeze everything, you still need to be able to process interrupts
in order to make it possible to communicate with the debugger. I know you hate SoftIce (and, indeed, it may have some “surprizes” up its sleeve), but it is just impossible to do single-machine debugging without any impact on reliability and system stability.

some of us like WinDBG the way it is since it has a small footprint and limits the impact

Actually, this is the only reason why I took the whole thing rather sceptically. Let’s face it - if MSFT
wanted to do things this way, they would have done it long, long ago. After all, when it comes to NT kernel, they are the most authoritative entity in the world, so that they would have a chance to do a better job that Numega did. Apparently, they just dont want to do it - the “tricks” that are easily forgiven to any third-party debugger would hardly be forgiven to MSFT-provided one, and, once it is impossible to avoid some “surprizes” when doing single-machine debugging, apparently they just don’t want to provoke any additional criticism and attacks against themselves. To be honest, I don’t see any reason why they may want to change things…

Anton Bassov