public void SetCustomPointer(string aPrefix) { // Find any existing custom entry and remove it int paraCount = iPrefixEngine_Pointer.Count; System.Diagnostics.Debug.Assert(paraCount >= 1); if (paraCount > 1) { iPrefixEngine_Pointer.RemoveRange(1); } string prefixText = aPrefix.Trim(); if (prefixText != string.Empty) { ParserParagraph para = new ParserParagraph("Dynamic_Pointer"); // prefixText += "%08x"; // ParserLine l1 = ParserLine.NewSymFormat(prefixText); l1.SetTargetProperty(iEngine.AddressInfo, "Pointer"); para.Add(l1); iPrefixEngine_Pointer.Add(para); } }
private ParserParagraph CreateChunkMultiple(string aName, DChunk aChunk) { ParserParagraph para = new ParserParagraph(aName); // ParserLine l1 = ParserLine.NewSymFormat("Owning Process %08x OS ASIDS %08x\r\n"); l1.SetTargetProperties(aChunk, "OwningProcessAddress", "OSAsids"); // ParserLine l2 = ParserLine.NewSymFormat("Size %x, MaxSize %x, Base %08x\r\n"); l2.SetTargetProperties(aChunk, "Size", "MaxSize", "Base"); // ParserLine l3 = ParserLine.NewSymFormat("Attrib %x, StartPos %x\r\n"); l3.SetTargetProperties(aChunk, "Attributes", "StartPos"); // ParserLine l4 = ParserLine.NewSymFormat("Type %d\r\n"); l4.SetTargetProperty(aChunk, "ChunkType"); // ParserLine l5 = ParserLine.NewSymFormat("PTE: %08x, PDE: %08x\r\n"); l5.SetTargetProperties(aChunk.Permissions, "Pte", "Pde"); // ParserLine l6 = ParserLine.NewSymFormat("PageTables=%08x, PageBitMap=%08x\r\n"); l6.SetTargetProperties(aChunk, "PageTables", "PageBitMap"); para.Add(l1, l2, l3, l4, l5, l6); return(para); }
private void PreparePrefixes_Pointer() { ParserParagraph para = new ParserParagraph("Fixed_Pointer"); // ParserLine l1 = ParserLine.NewSymFormat("CurrentSP - 0x%08x"); l1.SetTargetProperty(iEngine.AddressInfo, "Pointer"); // ParserLine l2 = ParserLine.NewSymFormat("CurrentSP - %08x"); l2.SetTargetProperty(iEngine.AddressInfo, "Pointer"); // ParserLine l3 = ParserLine.NewSymFormat("CurrentSP: 0x%08x"); l3.SetTargetProperty(iEngine.AddressInfo, "Pointer"); // ParserLine l4 = ParserLine.NewSymFormat("CurrentSP: %08x"); l4.SetTargetProperty(iEngine.AddressInfo, "Pointer"); // ParserLine l5 = ParserLine.NewSymFormat("r12=%08x %08x %08x %08x"); l5[1].SetTargetProperty(iEngine.AddressInfo, "Pointer"); // ParserLine l6 = ParserLine.NewSymFormat("Current stack pointer: 0x%08x"); l6.SetTargetProperty(iEngine.AddressInfo, "Pointer"); // ParserLine l7 = ParserLine.NewSymFormat("sp: 0x%08x"); l7.SetTargetProperty(iEngine.AddressInfo, "Pointer"); // ParserLine l8 = ParserLine.NewSymFormat("sp: %08x"); l8.SetTargetProperty(iEngine.AddressInfo, "Pointer"); // para.Add(l1, l2, l3, l4, l5, l6, l7, l8); // iPrefixEngine_Pointer.Add(para); }