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.
Status
Pre-alpha
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.
Commands
(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) |