示例#1
0
        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("}");
            }
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }