public LocalVariableNameReader(MethodInfo m) { ISymbolReader symReader = SymUtil.GetSymbolReaderForFile(m.DeclaringType.Assembly.Location, null); ISymbolMethod met = symReader.GetMethod(new SymbolToken(m.MetadataToken)); VisitLocals(met.RootScope); }
/// <summary> /// Load the PDB given the parameters at the ctor and spew it out to the XmlWriter specified /// at the ctor. /// </summary> public void ReadPdbAndWriteToXml() { // Actually load the files ISymbolReader reader = SymUtil.GetSymbolReaderForFile(m_fileName, null); m_assembly = System.Reflection.Assembly.ReflectionOnlyLoadFrom(m_fileName); // Begin writing XML. m_writer.WriteStartDocument(); m_writer.WriteComment("This is an XML file representing the PDB for '" + m_fileName + "'"); m_writer.WriteStartElement("symbols"); // Record what input file these symbols are for. m_writer.WriteAttributeString("file", m_fileName); WriteDocList(reader); WriteEntryPoint(reader); WriteAllMethods(reader); m_writer.WriteEndElement(); // "Symbols"; }