goldshtn/msos

IL, source code, and disassembly support

goldshtn opened this issue · 3 comments

Use Mono.Cecil, ISharpCode.Decompiler, and IDebugControl::Disassemble to display intermingled source, IL, and disassembly listings for methods, like sosex!muf.

  1. Add !decompile command that takes an assembly, type, or method and decompiles them (optionally to a file) using ISharpCode.Decompiler.
  2. Add !muf command that takes an instruction pointer and displays a source + IL + assembly listing of the managed method around that pointer. Use Mono.Cecil, ClrMD's ILOffsetMap, and IDebugControl::Disassemble.

Decompiler added in 2666632.

Disassembler added in bc41f16.