private void CreateRegisterParagraphs(ParserEngine aEngine, NThread aThread, ParserElementBase.ElementCompleteHandler aLastFieldHandler) { { ParserParagraph para = new ParserParagraph("NTHREAD_REGS1"); para.SetTargetMethod(aThread.Registers, "Add"); ParserLine l1 = ParserLine.NewSymFormat("FPEXC %08x\r\n"); ParserLine l2 = ParserLine.NewSymFormat("CAR %08x\r\n"); ParserLine l3 = ParserLine.NewSymFormat("DACR %08x\r\n"); para.Add(l1, l2, l3); aEngine.Add(para); } { ParserParagraph para = new ParserParagraph("NTHREAD_REGS2"); para.SetTargetMethod(aThread.Registers, "Add"); ParserLine l1 = ParserLine.NewSymFormat("R13_USR %08x R14_USR %08x SPSR_SVC %08x\r\n"); ParserLine l2 = ParserLine.NewSymFormat(" R4 %08x R5 %08x R6 %08x R7 %08x\r\n"); ParserLine l3 = ParserLine.NewSymFormat(" R8 %08x R9 %08x R10 %08x R11 %08x\r\n"); ParserLine l4 = ParserLine.NewSymFormat(" PC %08x\r\n"); // if (aLastFieldHandler != null) { l4[0].ElementComplete += new ParserElementBase.ElementCompleteHandler(aLastFieldHandler); } // para.Add(l1, l2, l3, l4); aEngine.Add(para); } }
private ParserParagraph CreateParagraph(string aName, RegisterCollection.TType aType) { RegisterCollection registers = CrashDebugger.InfoCpu[aType]; // ParserParagraph para = new ParserParagraph(aName); para.Tag = aType; para.SetTargetMethod(this, "AddRegister"); // if (aName.Length > 0) { ParserLine header = ParserLine.New(aName + "\r\n"); header.SetTargetMethod(this, "SwitchBank"); } return(para); }
private void PrepareOptionalParagraph() { ParserParagraph para = new ParserParagraph("CpuFaultInfo"); para.SetTargetMethod(CrashDebugger.InfoFault.Registers, "Add", TValueStoreMethodArguments.EValueStoreMethodArgumentNameAsString, TValueStoreMethodArguments.EValueStoreMethodArgumentValue); // ParserLine l1 = ParserLine.NewSymFormat("Exc %1d Cpsr=%08x FAR=%08x FSR=%08x\r\n"); l1[0].SetTargetProperties(CrashDebugger.InfoFault, "ExcCode"); // ParserLine l2 = ParserLine.NewSymFormat(" R0=%08x R1=%08x R2=%08x R3=%08x\r\n"); ParserLine l3 = ParserLine.NewSymFormat(" R4=%08x R5=%08x R6=%08x R7=%08x\r\n"); ParserLine l4 = ParserLine.NewSymFormat(" R8=%08x R9=%08x R10=%08x R11=%08x\r\n"); ParserLine l5 = ParserLine.NewSymFormat("R12=%08x R13=%08x R14=%08x R15=%08x\r\n"); ParserLine l6 = ParserLine.NewSymFormat("R13Svc=%08x R14Svc=%08x SpsrSvc=%08x\r\n"); // para.Add(l1, l2, l3, l4, l5, l6); ParserEngine.Add(para); }