protected override void XmlSerializeChildren(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { aParameters.Writer.WriteStartElement(SegConstants.CmnAttributes); // CodeSegDefinition codeSegDef = (CodeSegDefinition)iCodeSeg; if ((codeSegDef.Attributes & CodeSegDefinition.TAttributes.EAttributeXIP) == CodeSegDefinition.TAttributes.EAttributeXIP) { aParameters.Writer.WriteElementString(SegConstants.CmnXIP, string.Empty); } else if ((codeSegDef.Attributes & CodeSegDefinition.TAttributes.EAttributeRAM) == CodeSegDefinition.TAttributes.EAttributeRAM) { aParameters.Writer.WriteElementString(SegConstants.CmnRAM, string.Empty); } if (!iCodeSeg.IsResolved) { aParameters.Writer.WriteElementString(SegConstants.CodeSegs_CodeSeg_Attributes_NoSymbols, string.Empty); } if (iCodeSeg.IsSpeculative) { aParameters.Writer.WriteElementString(SegConstants.CodeSegs_CodeSeg_Attributes_Speculative, string.Empty); } if (iCodeSeg.IsMismatched) { aParameters.Writer.WriteElementString(SegConstants.CodeSegs_CodeSeg_Attributes_Mismatch, string.Empty); } // aParameters.Writer.WriteEndElement(); }
protected override void XmlSerializeChildren(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { foreach (string line in iMessage) { aParameters.Writer.WriteElementString(SegConstants.Messages_Message_Line, line); } }
protected override void XmlSerializeContent(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { CIInfoHW info = (CIInfoHW)aParameters.Container.ChildByType(typeof(CIInfoHW)); if (info != null) { // Product type string productType = info.ProductType; WriteStringIfNotEmpty(aParameters.Writer, SegConstants.HWInfo_ProductType, productType); // Product code string productCode = info.ProductCode; WriteStringIfNotEmpty(aParameters.Writer, SegConstants.HWInfo_ProductCode, productCode); // Serial number string serialNumber = info.SerialNumber; WriteStringIfNotEmpty(aParameters.Writer, SegConstants.HWInfo_SerialNumber, serialNumber); // Crash source if (info.ProductionMode == 1) { aParameters.Writer.WriteElementString(SegConstants.HWInfo_ProductionMode, SegConstants.HWInfo_ProductionMode_Prd); } else if (info.ProductionMode == 0) { aParameters.Writer.WriteElementString(SegConstants.HWInfo_ProductionMode, SegConstants.HWInfo_ProductionMode_RnD); } } }
protected override void XmlSerializeContent(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { CXmlNode.WriteId(iProcess, aParameters.Writer); aParameters.Writer.WriteElementString(SegConstants.CmnName, iProcess.Name); // UIDs if (iProcess.Uids[0] != 0) { aParameters.Writer.WriteElementString(SegConstants.Processes_Process_UID1, iProcess.Uids[0].ToString("x8")); } if (iProcess.Uids[1] != 0) { aParameters.Writer.WriteElementString(SegConstants.Processes_Process_UID2, iProcess.Uids[1].ToString("x8")); } if (iProcess.Uids[2] != 0) { aParameters.Writer.WriteElementString(SegConstants.Processes_Process_UID3, iProcess.Uids[2].ToString("x8")); } // SID if (iProcess.SID != 0) { aParameters.Writer.WriteElementString(SegConstants.Processes_Process_SID, iProcess.SID.ToString("x8")); } // Generation aParameters.Writer.WriteElementString(SegConstants.Processes_Process_Generation, iProcess.Generation.ToString()); // Priority if (iProcess.Priority != 0) { aParameters.Writer.WriteElementString(SegConstants.CmnPriority, iProcess.Priority.ToString()); } }
protected override void XmlSerializeContent(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { CISource source = aParameters.Container.Source; // File type string fileType = source.ImplementorName; aParameters.Writer.WriteElementString(Constants.SourceInfo_FileType, fileType); // Version CXmlVersionExtended version = new CXmlVersionExtended(source.ImplementorVersion); version.XmlSerialize(aParameters); // Source file (master file) string masterFileName = source.MasterFileName; aParameters.Writer.WriteElementString(Constants.SourceInfo_MasterFile, masterFileName); // Line number (if relevant) if (source.IsLineNumberAvailable) { aParameters.Writer.WriteElementString(Constants.SourceInfo_LineNumber, source.LineNumber.ToString()); } }
protected override void XmlSerializeContent(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { CXmlVersionExtended version = new CXmlVersionExtended(Constants.MasterFileFormatVersionMajor, Constants.MasterFileFormatVersionMinor); version.XmlSerialize(aParameters); }
protected override void XmlSerializeContent(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { if (!iEntry.IsRegisterBasedEntry) { aParameters.Writer.WriteElementString(SegConstants.CmnAddress, iEntry.Address.ToString("x8")); } // aParameters.Writer.WriteElementString(SegConstants.CmnValue, iEntry.Data.ToString("x8")); aParameters.Writer.WriteElementString(SegConstants.CmnText, iEntry.DataAsString); if (iEntry.FunctionOffset != 0) { aParameters.Writer.WriteElementString(SegConstants.Stacks_Stack_Data_Offset, iEntry.FunctionOffset.ToString("x4")); } // if (iEntry.IsRegisterBasedEntry) { // Get the corresponding register from the stack CIStack stack = iEntry.Stack; CIRegister register = iEntry.Register; if (register != null) { CXmlNode.WriteLink(register.Id, SegConstants.Registers, aParameters.Writer); } } if (iEntry.Symbol != null) { CXmlNode.WriteLink(iEntry.Symbol.Id, SegConstants.Symbols, aParameters.Writer); } }
protected override void XmlSerializeContent(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { CIInfoSW info = (CIInfoSW)aParameters.Container.ChildByType(typeof(CIInfoSW)); if (info != null) { // Checksum if (info.ImageCheckSum != 0) { aParameters.Writer.WriteElementString(SegConstants.CmnChecksum, info.ImageCheckSum.ToString("x8")); } // Date and time CXmlNode.WriteDate(aParameters.Writer, info.ImageTimeStamp, SegConstants.CmnDate); CXmlNode.WriteTime(aParameters.Writer, info.ImageTimeStamp, SegConstants.CmnTime); // Platform string platform = info.Platform; WriteStringIfNotEmpty(aParameters.Writer, SegConstants.SWInfo_Platform, platform); // Language string language = info.Language; WriteStringIfNotEmpty(aParameters.Writer, SegConstants.SWInfo_Language, language); } }
private void XmlSerializeRegisters(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { // Must obtain the registers in advance to avoid creating an empty list. List <CIRegisterList> regs = new List <CIRegisterList>(); // Find register lists CIElementList <CIRegisterListCollection> allRegs = iThread.ChildrenByType <CIRegisterListCollection>(); foreach (CIRegisterListCollection registerListCol in allRegs) { foreach (CIRegisterList registerList in registerListCol) { if (registerList.Count > 0) { regs.Add(registerList); } } } // Only write something if we have some entries if (regs.Count > 0) { CXmlNode.WriteLinkListStart(aParameters.Writer, SegConstants.Registers); foreach (CIRegisterList registerList in regs) { CXmlNode.WriteLink(registerList.Id, SegConstants.Registers, aParameters.Writer); } CXmlNode.WriteLinkListEnd(aParameters.Writer); } }
protected override void XmlSerializeChildren(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { foreach (KeyValuePair <CIElementId, CISymbol> kvp in iSymbols) { CXmlSymbol xmlSymbol = new CXmlSymbol(kvp.Value); xmlSymbol.XmlSerialize(aParameters); } }
public override void XmlSerialize(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { // Don't write symbols or stack if we were asked to create the summary file. if (aParameters.DetailLevel == CrashItemLib.Sink.CISinkSerializationParameters.TDetailLevel.EFull) { base.XmlSerialize(aParameters); } }
protected override void XmlSerializeChildren(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { foreach (CIMessage message in iMessages) { CXmlMessage xmlMessage = new CXmlMessage(message); xmlMessage.XmlSerialize(aParameters); } }
public override void XmlSerialize(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { iMessages = aParameters.Container.ChildrenByType <CIMessage>(CIElement.TChildSearchType.EEntireHierarchy); if (iMessages.Count > 0) { base.XmlSerialize(aParameters); } }
public override void XmlSerialize(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { CIEventList events = aParameters.Container.Events; if (events.Count > 0) { base.XmlSerialize(aParameters); } }
protected override void XmlSerializeChildren(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { CIElementList <CIRegisterVisualization> visList = iRegister.ChildrenByType <CIRegisterVisualization>(); foreach (CIRegisterVisualization vis in visList) { CXmlNode.WriteLink(vis.Id, SegConstants.ValueInterpretation, aParameters.Writer); } }
public override void XmlSerialize(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { CITelephony info = (CITelephony)aParameters.Container.ChildByType(typeof(CITelephony)); if (info != null) { base.XmlSerialize(aParameters); } }
protected override void XmlSerializeChildren(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { CIEventList events = aParameters.Container.Events; foreach (CIEvent e in events) { CXmlEvent xmlEvent = new CXmlEvent(e); xmlEvent.XmlSerialize(aParameters); } }
protected override void XmlSerializeChildren(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { System.Diagnostics.Debug.Assert(iList != null); // foreach (CIBinaryData blob in iList) { CXmlBlob xmlBlob = new CXmlBlob(blob); xmlBlob.XmlSerialize(aParameters); } }
protected override void XmlSerializeChildren(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { CIElementList <CIProcess> processes = aParameters.Container.ChildrenByType <CIProcess>(CIElement.TChildSearchType.EEntireHierarchy); foreach (CIProcess process in processes) { CXmlProcess xmlProcess = new CXmlProcess(process); xmlProcess.XmlSerialize(aParameters); } }
protected override void XmlSerializeChildren(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { CIElementList <CIThread> threads = aParameters.Container.ChildrenByType <CIThread>(CIElement.TChildSearchType.EEntireHierarchy); foreach (CIThread thread in threads) { CXmlThread xmlThread = new CXmlThread(thread); xmlThread.XmlSerialize(aParameters); } }
protected override void XmlSerializeChildren(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { CIElementList <CIRegisterVisualization> visList = aParameters.Container.ChildrenByType <CIRegisterVisualization>(CIElement.TChildSearchType.EEntireHierarchy); foreach (CIRegisterVisualization visualisation in visList) { CXmlValueInterpretation xmlVis = new CXmlValueInterpretation(visualisation); xmlVis.XmlSerialize(aParameters); } }
protected override void XmlSerializeChildren(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { CIElementList <CIStack> stacks = aParameters.Container.ChildrenByType <CIStack>(CIElement.TChildSearchType.EEntireHierarchy); foreach (CIStack stack in stacks) { CXmlStack xmlStack = new CXmlStack(stack); xmlStack.XmlSerialize(aParameters); } }
public override void XmlSerialize(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { iTraceData = aParameters.Container.Traces; // if (iTraceData != null && iTraceData.Lines.Length > 0) { base.XmlSerialize(aParameters); } // iTraceData = null; }
public override void XmlSerialize(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { iList = aParameters.Container.ChildrenByType <CIMemoryInfo>(CIElement.TChildSearchType.EEntireHierarchy); // if (iList != null && iList.Count > 0) { base.XmlSerialize(aParameters); } // iList = null; }
protected override void XmlSerializeChildren(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { // Exit info CXmlExitInfo xmlExitInfo = new CXmlExitInfo(iThread.ExitInfo); xmlExitInfo.XmlSerialize(aParameters); // Stacks XmlSerializeStacks(aParameters); // Registers XmlSerializeRegisters(aParameters); }
protected override void XmlSerializeChildren(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { aParameters.Writer.WriteStartElement(SegConstants.BinaryData_Blob_Payload); // Convert blob to bytequeue. DataBuffer buffer = iBinaryData.DataBuffer; string[] lines = Utilities.ConvertBinaryDataToText(buffer, Constants.KBinaryDataMaxLineLength); foreach (string line in lines) { WriteLineOfData(aParameters.Writer, line); } aParameters.Writer.WriteEndElement(); }
protected override void XmlSerializeChildren(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { System.Diagnostics.Debug.Assert(iList != null); foreach (CIMemoryInfo info in iList) { string name = SegConstants.MemoryInfo_Drive; if (info.Type == CIMemoryInfo.TType.ETypeRAM) { name = SegConstants.MemoryInfo_RAM; } // CXmlMemoryInfo xmlInfo = new CXmlMemoryInfo(info, name); xmlInfo.XmlSerialize(aParameters); } }
protected override void XmlSerializeChildren(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { if (iList.IsCurrentProcessorMode) { aParameters.Writer.WriteStartElement(SegConstants.CmnAttributes); aParameters.Writer.WriteElementString(SegConstants.Registers_RegisterSet_CurrentBank, string.Empty); aParameters.Writer.WriteEndElement(); } foreach (CIRegister register in iList) { CXmlRegister xmlRegister = new CXmlRegister(register); xmlRegister.XmlSerialize(aParameters); } }
protected override void XmlSerializeContent(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { CITelephony info = (CITelephony)aParameters.Container.ChildByType(typeof(CITelephony)); if (info != null) { string phoneNumber = info.PhoneNumber; WriteStringIfNotEmpty(aParameters.Writer, SegConstants.Telephony_PhoneNumber, phoneNumber); string imei = info.IMEI; WriteStringIfNotEmpty(aParameters.Writer, SegConstants.Telephony_Imei, imei); string imsi = info.IMSI; WriteStringIfNotEmpty(aParameters.Writer, SegConstants.Telephony_Imsi, imsi); } }
protected override void XmlSerializeContent(CrashXmlPlugin.FileFormat.Document.CXmlDocumentSerializationParameters aParameters) { CXmlNode.WriteId(iCodeSeg, aParameters.Writer); aParameters.Writer.WriteElementString(SegConstants.CmnName, iCodeSeg.Name); aParameters.Writer.WriteElementString(SegConstants.CmnBase, iCodeSeg.Base.ToString("x8")); aParameters.Writer.WriteElementString(SegConstants.CmnSize, iCodeSeg.Size.ToString("x8")); aParameters.Writer.WriteElementString(SegConstants.CmnRange, iCodeSeg.Range.ToString()); if (iCodeSeg.Checksum != 0) { aParameters.Writer.WriteElementString(SegConstants.CmnChecksum, iCodeSeg.Checksum.ToString("x8")); } // Write any messages CXmlSegBase.XmlSerializeMessages(aParameters, iCodeSeg); }