public static FrameDebuggerEventData GetCurrentData() { FrameDebuggerEventData data = null; ReflectionClassWithObject obj = null; int currentPos = GetCurrentFramePosition() - 1; if (GetFrameEventData(currentPos, out obj)) { data = new FrameDebuggerEventData(); obj.CopyFieldsToObjectByVarName <FrameDebuggerEventData>(ref data); } return(data); }
private static bool GetFrameEventData(int frameIdx, out ReflectionClassWithObject ret) { if (frameIdx < 0) { ret = null; return(false); } object[] args = null; args = new object[] { frameIdx, frameEventData.CreateInstance() }; bool result = frameDebuggeUtil.CallMethod <bool>("GetFrameEventData", null, args); if (result) { ret = new ReflectionClassWithObject(frameEventData, args[1]); } else { ret = null; } return(result); }