PowerDbg Version 6

With this release we're really focusing on making PowerDbg (and by extension WinDbg) as easy to use as possible, whilst at the same time enabling a much richer debugging experience that really leverages the power of PowerShell.


There is no release yet, but you can grab the working copy direct from source control under .\dev\out\Modules

New Features

  • Wherever possible we now returned structured (PSObject) data from commands, that can be filtered, pilelined etc... The CSV file is depricated
  • Trying to make cmdlets (or aliases) to match the WinDbg experience as closely as possible
  • We're bunding some sample debugging scenarios, that can be built and used for training purposes. These actually form the basis of our integration tests
  • PowerDbgConsole - provides a really easy way to get a PowerDbg session up and running

We've also now got a 'build' process that makes it easier for us to develop new commands, but that's more a housekeeping thing.

Backwards Compatability

It's the intent that all existing scripts should still run as-is. This will need testing however...

CmdLet Naming

Is currently a bit inconsistent, and I'm still searching for a pattern I'm happy with. We either violate PowerShell conventions, and still with WinDbg names, or most CmdLets end up being called 'Get-something' and I don't see that particularly aids discoverability. But that warning about non-standard verbs (when you load the module) is very irritating.


(get-command -module WinDbg)

CmdLet Alias SOS command
Dump-ClrThreads clrthreads !clrthreads
Dump-Heap dumpheap !dumpheap
Dump-Object dumpobject,do !dumpobject
Dump-Array dumparray !dumparray
Dump-Dictionary (no equivilent)

Last edited May 22, 2010 at 12:40 PM by piers7, version 7


No comments yet.