// Example: // // 0:009> r // r0=00000000 r1=00000000 r2=00000000 r3=76fdcf09 r4=00000000 r5=028df6e0 // r6=028df730 r7=00000000 r8=00000001 r9=01507858 r10=015156a8 r11=028df8e8 // r12=00000000 sp=028df6c8 lr=00000000 pc=76ccce24 psr=600f0030 -ZC-- Thumb // KERNELBASE!RaiseFailFastException+0x60: // 76ccce24 f000f846 bl KERNELBASE!SignalStartWerSvc (76ccceb4) // public override ColorString ToColorString() { if (null == m_colorString) { ConsoleColor color; ColorString cs = new ColorString(" r0="); color = GetColorForDiffAgainstBaseline("r0"); cs.Append(R0.GetColorizedValueString(color)); cs.Append(" r1="); color = GetColorForDiffAgainstBaseline("r1"); cs.Append(R1.GetColorizedValueString(color)); cs.Append(" r2="); color = GetColorForDiffAgainstBaseline("r2"); cs.Append(R2.GetColorizedValueString(color)); cs.Append(" r3="); color = GetColorForDiffAgainstBaseline("r3"); cs.Append(R3.GetColorizedValueString(color)); cs.Append(" r4="); color = GetColorForDiffAgainstBaseline("r4"); cs.Append(R4.GetColorizedValueString(color)); cs.Append(" r5="); color = GetColorForDiffAgainstBaseline("r5"); cs.Append(R5.GetColorizedValueString(color)); cs.AppendLine(); cs.Append(" r6="); color = GetColorForDiffAgainstBaseline("r6"); cs.Append(R6.GetColorizedValueString(color)); cs.Append(" r7="); color = GetColorForDiffAgainstBaseline("r7"); cs.Append(R7.GetColorizedValueString(color)); cs.Append(" r8="); color = GetColorForDiffAgainstBaseline("r8"); cs.Append(R8.GetColorizedValueString(color)); cs.Append(" r9="); color = GetColorForDiffAgainstBaseline("r9"); cs.Append(R9.GetColorizedValueString(color)); cs.Append(" r10="); color = GetColorForDiffAgainstBaseline("r10"); cs.Append(R10.GetColorizedValueString(color)); cs.Append(" r11="); color = GetColorForDiffAgainstBaseline("r11"); cs.Append(R11.GetColorizedValueString(color)); cs.AppendLine(); cs.Append("r12="); color = GetColorForDiffAgainstBaseline("r12"); cs.Append(R12.GetColorizedValueString(color)); cs.Append(" sp="); color = GetColorForDiffAgainstBaseline("sp"); cs.Append(Sp.GetColorizedValueString(color)); cs.Append(" lr="); color = GetColorForDiffAgainstBaseline("lr"); cs.Append(Lr.GetColorizedValueString(color)); cs.Append(" pc="); color = GetColorForDiffAgainstBaseline("pc"); cs.Append(Pc.GetColorizedValueString(color)); cs.Append(" psr="); color = GetColorForDiffAgainstBaseline("psr"); cs.Append(Psr.GetColorizedValueString(color)); // TODO: cs.AppendLine(" TBD: flags and mode"); cs.Append(DbgProvider.ColorizeSymbol(StackFrame.SymbolName)); if (0 != StackFrame.Displacement) { cs.Append("+0x"); cs.Append(StackFrame.Displacement.ToString("x")); } cs.AppendLine(":"); cs.Append(Disasm(Pc.ValueAsPointer)); m_colorString = cs; } return(m_colorString); } // end ToString()