public static long[] GetThreadRegisters64(int n) { long[] result = new long[33]; IXboxThread thread = jtag.DebugTarget.Threads[n]; IXboxStackFrame frame = thread.TopOfStack; frame.FlushRegisterChanges(); for (int i = 0; i < 33; i++) { frame.GetRegister64((XboxRegisters64)i, out result[i]); } return(result); }
public static int[] GetThreadRegisters32(int n) { int[] result = new int[5]; IXboxThread thread = jtag.DebugTarget.Threads[n]; IXboxStackFrame frame = thread.TopOfStack; frame.FlushRegisterChanges(); for (int i = 0; i < 5; i++) { frame.GetRegister32((XboxRegisters32)i, out result[i]); } return(result); }
public static string GetThreadInfo(int n) { StringBuilder result = new StringBuilder(); try { IXboxThread thread = jtag.DebugTarget.Threads[n]; result.AppendLine("ID\t\t: 0x" + thread.ThreadId.ToString("X8")); result.AppendLine("Processor\t: " + thread.CurrentProcessor); result.AppendLine("Suspend Count\t: 0x" + thread.ThreadInfo.SuspendCount); } catch { } return(result.ToString()); }