internal BfAssembly(BfCache cache, AssemblyDefinition assemblyDef, bool isCoreAssembly, string rootDirectory) { this.int_0 = cache.method_15(); this.assemblyDefinition_0 = assemblyDef; this.string_1 = assemblyDef.Name.Name; this.bool_0 = isCoreAssembly; this.string_0 = this.assemblyDefinition_0.Name.Version.ToString(); try { PdbFactory pdbFactory = new PdbFactory(); string text = Path.Combine(rootDirectory, this.assemblyDefinition_0.Name.Name + ".dll"); if (System.IO.File.Exists(text)) { this.isymbolReader_0 = pdbFactory.CreateReader(null, text); } text = Path.Combine(rootDirectory, this.assemblyDefinition_0.Name.Name + ".exe"); if (System.IO.File.Exists(text)) { this.isymbolReader_0 = pdbFactory.CreateReader(null, text); } } catch (Exception ex) { Logger.LogWarning("AssemblyConstructor", "Something went wrong " + ex.ToString()); } }
public void loadAndMapSymbols(AssemblyDefinition assemblyDefinition, string assemblyPath, bool decompileCodeIfNoPdb, string pathToSaveDecompiledSourceCode) { try { if (assemblyPath != null) { var pdbFile = assemblyPath.Replace(Path.GetExtension(assemblyPath), ".pdb"); if (File.Exists(pdbFile)) { string unit = assemblyPath; ModuleDefinition modDef = assemblyDefinition.MainModule; var pdbFactory = new PdbFactory(); ISymbolReader reader = pdbFactory.CreateReader(modDef, unit); modDef.LoadSymbols(reader); } else { if (decompileCodeIfNoPdb) { new CecilDecompiler().decompile(assemblyDefinition, pathToSaveDecompiledSourceCode); } } } } catch (Exception ex) { PublicDI.log.error("in loadAndMapSymbols: {0]", ex.Message); } }
public SymbolEngine(string assemblyPath) { AssemblyDefinition assemblyDef = AssemblyFactory.GetAssembly(assemblyPath); m_moduleDef = assemblyDef.MainModule; PdbFactory factory = new PdbFactory(); ISymbolReader reader = factory.CreateReader(m_moduleDef, assemblyPath); m_moduleDef.LoadSymbols(reader); }