public static void Generate() { string pdbPath = Path.Combine(Program.Root, @"System\Kernel\Kernel.pdb"); string wrappersPath = Path.Combine(Program.Root, @"System\[Tools]\Debugger\Wrappers\Wrappers.cs"); PdbFile pdbFile = new PdbFile(pdbPath); PdbSession pdbSession = pdbFile.OpenSession(0x100000); using (StreamWriter output = File.CreateText(wrappersPath)) { output.WriteLine("using System;"); output.WriteLine("using System.Collections.Generic;"); output.WriteLine("using System.IO;"); output.WriteLine("using System.Linq;"); output.WriteLine(); output.WriteLine("namespace Debugger.Wrappers"); output.WriteLine("{"); /*foreach (PdbSymbol customType in pdbSession.Global.FindChildren(PdbSymbolTag.CustomType)) * { * output.WriteLine(" class _{0} : Object", customType.VirtualAddress); * output.WriteLine(" {"); * output.WriteLine(" }"); * }*/ output.Write("}"); } }
private void LoadSymbols() { string pdbPath = Path.Combine(Bootstrap.Source, @"Kernel\Kernel.pdb"); if (!File.Exists(pdbPath)) { throw new Exception("Could not find kernel symbols"); } // Load and open PDB session PdbFile = new PdbFile(pdbPath); PdbSession = PdbFile.OpenSession(0x100000); }
private void LoadSymbols() { string pdbPath = Path.Combine(Program.Root, @"System\Kernel\Kernel.pdb"); if (!File.Exists(pdbPath)) throw new Exception("Could not find kernel symbols"); // Load and open PDB session PdbFile = new PdbFile(pdbPath); PdbSession = PdbFile.OpenSession(0x100000); }