New Windbg version released

You have probably seen AndreVa’s message about the new release. I
wanted to add some comments about it.

Our first retail release of “Debugging Tools for Windows”, version
1.0.6.0 is now on the web at http://www.microsoft.com/ddk/debugging. We
have also put our native 64-bit package out there as a beta release.

If you see the old page, then hit the refresh button.

Uninstall any preivous BETA debuggers before installing.

Please send any bugs or feature requests to xxxxx@microsoft.com (this
is not a geneneral support alias - we don’t help people debug their
code, just debuggin issues)

We have also created a newsgroup for people to discuss WinDbg issues.
It is microsoft.public.windbg

With this debugger you can debug many different types of targets. The
supported targets are:
Kernel Mode
Live & Dump files
NT4 x86 & alpha
Win2k
Whistler x86 & IA64
User Mode
Live
NT4 x86
Win2k
Whistler x86 & IA64 (including native IA64 & x86
on IA64)
Dump
NT4 x86 & alpha
Win2k
Whistler x86 & IA64

The debugger release includes updated documentation. Please read it as
you will find lots of information that should help you.

The debugger release also contains an SDK with some simple samples. You
must do a “custom” install in order to install it. The samples build
fine with the latest released DDK & SDK. The SDK contains everything
you need to write extensions to the old or new extension interfaces.
With the new interfaces extentions can do all kinds of powerful things.
These interfaces can also be used to wrap a new client around the
debugger engine. Basicly this is all the Windbg does. That means
someone could develop thier own “Windbg” UI and not have to mess around
with the ugly debugger details like how to implement breakpoints,
disassembly, symbol handlers, etc… So you could leaverage all the
work we did in the engine & basicly extend functionality or write a new
UI. The one piece of bad news is that the documentation for the SDK is
not yet done. So one have to rely on the method names, etc…

Some feature highlights (please see the docs for more detail):
Workspace naming - save workspaces by name & load then by name
(even from the command line)

Remoting - by starting a debugger with -server one can connect
using -remote. This enables source level debugging on your office
machine of a machine sitting in another room (or over the Internet).

Context changing commands - .cxr, .trap, .tss, .thread,
.context, etc… change the context of the debugger. This makes it
easier to debug exceptions, bugchecks. It also allows easier debugging
of user mode processes when kernel debugging.

Noninvasive attach - This allows you to debug a UM process
without attaching as the offical debugger. This enables you to look at
processes being “debugged” by other processes. It also gives you a way
to detach the debugger from processes in NT4 and Win2k without killing
them. The limitations of doing this are similar to what you can do with
a dump file. You can read/write memory and that’s about it. Of course
this enables stack walking, looking at variables, and most extensions
work. You just can’t do breakpoints, exception handling, etc…

Symbol server - You can use symbol server to “index” symbols
from multiple versions into one place. Then the debugger does symbol
lookup based on information in the image header rather than the name.
This enables having one sympath that works for all OS versions you may
debug. If you ever had to play with symbol paths to get it work when
you put a few chk binaries on a fre machine you should love this. See
the docs for detail on how to build a symbol server and how to use it in
the sympath.

Hope you enjoy using this version.

Nathan Nesbit
Windows Debugger Team - http://dbg