Beispiel #1
0
        /// <summary>
        ///     Converts the specified module.
        /// </summary>
        /// <param name="module">The module.</param>
        /// <returns>IClrModule.</returns>
        public IClrModule Convert(ClrMd.ClrModule module)
        {
            if (module == null)
            {
                return(null);
            }
            var item = new ClrModuleAdapter(this, module);

            return(Cache.GetOrAdd <IClrModule>(module, () => item, () => item.Setup()));
        }
 public ModuleInformation(ClrDump clrDump, ClrModule module)
 {
     this.module = module;
     DebuggingMode = module.DebuggingMode;
     Pdb = clrDump.Eval(() =>
    {
        if (module.IsFile && module.Pdb != null)
        {
            return module.Pdb.FileName;
        }
        return null;
    });
 }
Beispiel #3
0
        private void DecompileModule(ClrModule module)
        {
            var assemblyDef = AssemblyDefinition.ReadAssembly(module.FileName);
            AstBuilder decompiler = new AstBuilder(
                new DecompilerContext(assemblyDef.MainModule));
            decompiler.AddAssembly(assemblyDef);

            GenerateCode(decompiler);
        }
Beispiel #4
0
 internal abstract ClrType GetTypeByToken(ClrModule module, uint token);
Beispiel #5
0
 private static SymbolLocator GetSymbolLocator(ClrModule module)
 {
     return module.Runtime.DataTarget.SymbolLocator;
 }