goldshtn / msos

Command-line environment a-la WinDbg for executing SOS commands without having SOS available.
Other
96 stars 21 forks source link

Wrap in WinDbg extension #15

Open goldshtn opened 9 years ago

goldshtn commented 9 years ago

Could be something very simple that just forwards any arguments to msos. For example:

> !msos !dumpheap --stat

Need to figure out how to let ClrMD connect to the same target. Maybe by initializing DataTarget around WinDbg's IDebugInterface? Or maybe just opening another one with the ClrMD engine?

goldshtn commented 9 years ago

There's also the issue of interpreting arguments and escaping. For example, we probably want @$tn variables to be available as part of the command, so we don't want !msos to eat them. Similarly, what happens to quotes, semicolons, WinDbg keywords, etc.

goldshtn commented 9 years ago

DataTarget can be created from IDebugClient, so no worries there.

goldshtn commented 9 years ago

Some work started in windbg-extension branch, but a lot still remaining. Among other things, split .exe into msoscore.dll and msos.exe. Need msoscore.dll to use Costura and pack itself up into a single file as well, for compactness (question is whether the unmanaged deps like symsrv.dll remain in the .exe?). Also need some code to create an AnalysisTarget out of IDebugClient passed from the extension.