コード例 #1
0
        private void ReceiveModulesInformation(EndianBinaryReader reader)
        {
            switch (hostPlatform)
            {
            case Platform.Xbox:
                XboxSymbolsManager xboxSymbolsManager = new XboxSymbolsManager();
                int numModules = reader.ReadInt32();
                for (int i = 0; i < numModules; ++i)
                {
                    string path        = ReadString(reader);
                    UInt32 baseAddress = reader.ReadUInt32();
                    UInt32 size        = reader.ReadUInt32();
                    Int32  a           = reader.ReadInt32();
                    Int16  b           = reader.ReadInt16();
                    Int16  c           = reader.ReadInt16();
                    Byte[] d           = reader.ReadBytes(8);
                    Guid   guid        = new Guid(a, b, c, d);
                    UInt32 age         = reader.ReadUInt32();
                    try
                    {
                        xboxSymbolsManager.AddModuleInformation(path, baseAddress, size, guid, age);
                    }
                    catch (System.IO.FileNotFoundException)
                    {
                        // This can happen if Dia2Lib.dll cannot be found
                    }
                }
                symbolsManager = xboxSymbolsManager;
                break;

            default:
                LogMessage("Received module information for platform {0} but this is not interpreted yet", hostPlatform);
                break;
            }
        }
コード例 #2
0
 private void Reset()
 {
     hostVersion      = 0;
     hostPlatform     = Platform.Unknown;
     symbolsManager   = null;
     cppCallStackMode = CppCallStackMode.Disabled;
 }
コード例 #3
0
        private void ReceiveModulesInformation(EndianBinaryReader reader)
        {
            switch (hostPlatform)
            {
#if (SUPPORT_RESTRICTED_PLATFORMS)
            case Platform.Xenia:
                XeniaSymbolsManager xeniaSymbolsManager = new XeniaSymbolsManager();
                xeniaSymbolsManager.LoadModules(reader);
                symbolsManager = xeniaSymbolsManager;
                break;

            case Platform.Provo:
                ProvoSymbolsManager provoSymbolsManager = new ProvoSymbolsManager();
                provoSymbolsManager.LoadModules(reader);
                symbolsManager = provoSymbolsManager;
                break;
#endif

            default:
                LogMessage("Received module information for platform {0} but this is not interpreted yet", hostPlatform);
                break;
            }
        }
コード例 #4
0
 public void SetSymbolsManager(SymbolsManager manager)
 {
     symbolsManager = manager;
 }