/// <summary> /// Constructor /// </summary> /// <param name="result">Reverse Result</param> /// <param name="debugConfig">Debugger config</param> protected DebuggerBase(ReverseResult result, T debugConfig) { if (result != null) { Modules.CopyFrom(result.Modules); Instructions.CopyFrom(result.Instructions); } Config = debugConfig; State = DebuggerState.None; InvocationStackCount = 0; CurrentInstructionIndex = 0; Instruction ins = Instructions[CurrentInstructionIndex]; if (ins != null) { Module m = Modules.GetModuleOf(ins.Location); if (m != null) { _CurrentMethod = m.Methods.GetMethodOf(ins.Location); } } }