WinDbg不同版本间的主要差异
近一两年来,WinDbg的版本更新差不多每月都有,这种速度也侧面证明了微软内部对WinDbg的重视,否则不会升级这么快吧?而且可以看出其发展是和微软的其它技术发展同步的。比如DotNet热时WinDbg的那几个版本加了很多对调试托管代码的支持,64位热时,WinDbg便加入对WOW64的支持。无疑微软的很多内部团队也在使用WinDbg做调试。当他们发现问题或有新的要求时就会让WinDbg改正或加入。
版本升级这么快,有时真的不知道每个版本到底有什么变化,该不该升级?还好微软的站点上有一个简单的列表关于每个版本的变化。但这个LISt已经不包括6.2以前的版本(大约是05年3月)了。说不定现在包括的版本过几个月也不见了。赶紧贴过来吧!
Highlights in Version 6.6.3.5
The following changes have been made to Debugging Tools for Windows:
• |
New UI enhancements
• |
Right-click copy support in watch/locals window |
• |
Source syntax coloring |
• |
MDI emulation mode |
• |
Hover evaluation when a syntax parser is available for a source file |
• |
Added kd connection property page for USB 2.0 |
• |
New options in Resolve Unqualified Symbols in the Debug Menu |
• |
New Copy Formatted command in the Edit menu for copying rich text |
• |
New -ui command line options |
• |
Equivalent to -premote added to Connect in File menu |
• |
Updated appearance of styles and toolbars |
• |
Toggle QuickEdit Mode from Options in View menu |
• |
New Event Timestamps menu under the View menu |
• |
Enhanced docking options |
• |
Easier view of thread names | |
• |
New Source Server features
• |
Additional support for Subversion |
• |
Set which srcsrv.ini file to use via an environment variable | |
• |
Additional Symbol Server support
• |
Support for coexisting compressed and uncompressed files | |
• |
!analyze enhancements
• |
Initial support for plug-in analyzers |
• |
Enhancements for bugchecks, exceptions, hangs and /GS | |
• |
New and updated extensions
• |
in kdexts.dll: !process |
• |
in ntsdexts.dll: !htrace |
• |
updates to !token, !sd and !peb | |
• |
New and updated commands: .dumpdebug, .frame, .ignore_wow_kd_context, .cmdtree, .cache, .readmem, .typeopt, .f+, .f-, .pagein, .idle_cmd, sxr, lse, pt, tt |
• |
New options for commands: bl, ld, .printf, .kill, .detatch, .abandon, bm, dt |
• |
New symproxy feature
• |
Can use file pointers for http symbol stores | |
• |
Better debugging
• |
Better detection of WOW64 situations |
• |
Retrieval of non-running thread stacks |
• |
Improved functionality with psuedo-registers | |
For details of all the new features in Debugging Tools for Windows, consult the documentation. To access the documentation, click Start, point to Programs, and then click Debugging Tools for Windows. After the program opens, click Debugging Help.
Highlights in Version 6.5.3.8
The following changes have been made to Debugging Tools for Windows:
• |
Compatibility updates for Windows codename "Longhorn." |
• |
New EngExtCpp C++ extension framework:
• |
This is a Developer Preview, and APIs are subject to change. |
• |
Headers and samples can be installed by choosing the SDK component during installation of Debugging Tools for Windows. | |
• |
Win9x user-mode compatibility fixes:
• |
Requires MSLU. See debugger documentation for details. |
• |
Win9x debugging is still not a supported scenario. | |
• |
USB 2.0 kernel debugging support. Requires a Windows "Longhorn" target computer and some additional software. See debugger documentation for details. |
• |
New tool available: DBH. |
• |
New commands available: .allow_image_mapping, .apply_dbp, .prompt_allow, .step_filter, and .suspend_ui. |
• |
New options available for the lm, uf, .attach, .cxr, .foreach, .opendump, and .printf commands. |
• |
All debuggers now support .wtitle. |
• |
New pseudo-register: $ea2. |
• |
New automatic aliases: $CurrentDumpArchiveFile, $CurrentDumpArchivePath, $CurrentDumpFile, $CurrentDumpPath, $ntsym, $ntnsym, and $ntwsym. |
• |
New extensions available:
• |
in exts.dll: !bitcount. |
• |
in kdexts.dll:!sysinfo. |
• |
in wmitrace.dll: !buffer, !ckcl, !regtable, and !setprefix. |
• |
in wdfkd.dll: !wdfdevice, !wdfdevicequeues, !wdfdriverinfo, !wdfextendwatchdog, !wdfgetdriver, !wdfldr, !wdfqueue, !wdfrequest, !wdfsetdriver, and !wdftraceprtdebug. | |
• |
New extension module fltkd.dll. This contains !cbd, !contextlist, !ctx, !filter, !filters, !fltobj, !frame, !frames, !instance, !irpctrl, !msgq, !namecachelist, !port, !portlist, !relobjs, !stats, !streamlist, !traceflags, !tracelevel, !tree, !volume, and !volumes. |
• |
New options available for the !search extension. |
• |
New symbol quoting syntax. |
• |
WinDbg UI changes, including:
• |
"Edit->Clear Command Output" allows clearing partial text from command window. |
• |
"File->Open Executable" remembers process arguments and start directory. |
• |
Cascading and tiling of undocked windows. |
• |
Watch window and Locals window context option to invoke 'dt' command. | |
• |
Source Server support for Subversion version control system. |
• |
Updated 1394 kernel debugging drivers. |
• |
Updates to many sections of the debugger documentation (debugger.chm). |
• |
New documentation file, Kernel_Debugging_Tutorial.doc, aimed at customers who are familiar with other debugging tools and want to learn how to use WinDbg for kernel debugging. |
• |
Many improvements to the !analyze extension. |
• |
Numerous fixes to bugs in various commands and extensions reported by customers. |
For details of all the new features in Debugging Tools for Windows, consult the documentation. To access the documentation, click Start, point to Programs, and then click Debugging Tools for Windows. After the program opens, click Debugging Help.
Highlights in Version 6.4.7.2
The following changes have been made to Debugging Tools for Windows:
• |
New SymProxy tool. See the details below. |
• |
New WinDbg UI Themes. These are preconfigured WinDbg workspaces that contain a useful configuration of debugging information windows. You can find documentation in Themes.doc. |
• |
New options for the wt and .printf commands. New options for the !Name2EE, !dumpstackobjects, !dumpobj, !dumpcollection, !dumpdomain, !eeheap, !dumpheap, !clrstack, !address, and !heap extensions. New "ReqHost" option for the TCP transport. |
• |
New commands: gc, .event_code, and .fnret. New extensions: !stl, !xpoolmap, !DumpField, !dumpacpi, !dumpcpuinfo, !dumpcpumicrocode, !dumpcpuspeed, !dumpmachineid, !dumpregisters, !dumpsmbios, !findstack, !dumpMethodSig, !DumpSig, !dumpRuntimeTypes, and !homedir. New pseudo-registers and functions: $fnsucc() and $retret64. |
• |
New extension module ks.dll, containing !allstreams, !automation, !devhdr, !dhdr, !dump, !dumpbag, !dumpcircuit, !dumplog, !dumpqueue, !enumdevobj, !enumdrvobj, !eval, !findlive, !forcedump, !graph, !help, !kshelp, !libexts, !objhdr, !ohdr, !pchelp, !pciaudio, !pciks, !shdr, and !topology. |
• |
Symbol server support for cascading downstream stores. You can now use multiple downstream stores to cache symbols sequentially. If one store is inaccessible, the chain is not broken. |
SymProxy now allows you to create a single HTTP symbol server in your network to which all of your debuggers can point. This has the benefit of pointing to multiple symbol servers (both internal and external) with a single symbol path, handling authentication, and increasing performance through symbol caching. You can find documentation in symhttp.doc.
Highlights in Beta Version 6.4.4.4
The following changes have been made to Debugging Tools for Windows:
• |
New tools, including AgeStore and rtlist. |
• |
New options for the e, g, s, x, .attach, .create, .dump, .logopen, .open, .process, .shell, .thread, and .time commands. The .restart command now works remotely. New options available for the !list extension. |
• |
New commands: dpa, dpu, ub, .extpath, .scroll_prefs, .flash_on_break, .sound_notify, !can_write_kdump, !GCHandleLeaks, !GCHandles, and !StopOnException. |
• |
WinDbg UI changes, including:
• |
Memory Window: Dynamic column count auto fitting, line scrolling, and new display formats. |
• |
Watch/Locals Windows: "tab" switching, F2 to enter edit mode, and opening a memory window against variable entries. |
• |
Scratch Pad: For associating contents with a file. |
• |
Command Window: New coloring and text marking options, and history that can be opened from a file. |
• |
Closed windows that now retain their state. |
• |
User-loaded extensions that are saved in the workspace. | |
• |
Many improvements to the !analyze extension. |
• |
Numerous bug fixes to various commands and extensions reported by customers. |
Highlights in Version 6.3.17
The following changes have been made to Debugging Tools for Windows:
• |
Support for the next generation of Microsoft Windows codenamed "Longhorn". |
• |
New user interface (UI) management capabilities in WinDbg. |
• |
Many improvements to the !analyze extension. |
• |
Improved extension interface documentation (debugext.chm). If you want to access this documentation or build debugger extensions, you should perform a custom install of Debugging Tools for Windows and select all features. |
• |
The ability to execute a series of debugger commands programmatically or create a more complicated "program" by using flow control. This allows you to conditionally execute commands or even pipe the output of one command into another. New control flow tokens include .foreach, .do, .for, .while, .if, .elsif, .else, .catch, .break, .continue, and .leave. Aliases are used as the "local variables" in these programs. |
• |
Multiple new options for setting aliases. |
• |
Numerous bug fixes to various commands and extensions reported by customers. |
WinDbg now features enhanced UI management capabilities. Support for window docking, window tear-off, and window tabs has been added to allow users more flexibility in configuring the user interface.
Some features of the new WinDbg UI include:
• |
Window docking Windows that are part of the frame are "tied" to the frame, and stretch and shrink when the main debugger window frame is changed. |
• |
Window tear-off WinDbg windows can "float" outside the frame and do not change or move when the main WinDbg frame is moved. Windows that are torn off the main frame are still child windows of WinDbg, and are minimized and maximized with the frame and do not show up on the task bar. |
• |
Window tabs Docked windows can be tabbed together, allowing multiple windows to be layered while providing easy access to the windows under the currently visible one. |
Tips for using the new WinDbg UI:
• |
At startup, all WinDbg UI windows are in an "undocked" state. To dock the window, double-click it or drag it into the main WinDbg frame window. |
• |
To tab a window, drag the window to the other window to which you want to tab it, moving the mouse to the center of the window. Drop it when you see the outline of the dragged window match the frame of the other window. Switch between the tabbed windows by pressing CTRL+TAB. |
For full details, see the Debugging Tools for Windows help file.
Highlights in Beta Version 6.3.5
The following changes have been made to Debugging Tools for Windows:
• |
New support for managed code debugging that requires Windows codenamed "Longhorn". |
• |
Many improvements to the !analyze extension. |
• |
Internal debugger support for Unicode. |
• |
Numerous new options and many bug fixes in SymChk and SymStore. |
• |
New options for the bp, bm, bu, ba, dt, d, s, x, and .logopen commands. New options to DbEngPrx. New options to the !process and !thread extensions. |
• |
Numerous bug fixes to various commands and extensions reported by customers. |
Highlights in Version 6.2.13.1
The following changes have been made to Debugging Tools for Windows:
• |
New debugger extension interface documentation. To install this documentation, perform a custom install of the package and select all features. |
• |
New commands, including .send_file, .record_branches, .ignore_missing_pages, and .quit_lock, .ttime, .fpo. |
• |
New options to the dv command. |
• |
New d[d|q|p]p command that can walk one level of pointer indirection for data on the stack. |
• |
Numerous improved debugger extensions, including !chkimg, !exchain, !verifier, !runaway, and !vm. |
• |
New options for the SymChk and SymStore tools. |
• |
Updated IEEE 1394 debugging drivers. |
• |
x64 debugging updates. |
• |
Resolution of all reported bugs. |