public void NewParameterizedObject(CorFunction managedFunction, CorType[] argumentTypes, CorValue[] arguments) { ICorDebugType[] types = null; int typesLength = 0; ICorDebugValue[] values = null; int valuesLength = 0; ICorDebugEval2 eval2 = (ICorDebugEval2)m_eval; if (argumentTypes != null) { types = new ICorDebugType[argumentTypes.Length]; for (int i = 0; i < argumentTypes.Length; i++) { types[i] = argumentTypes[i].m_type; } typesLength = types.Length; } if (arguments != null) { values = new ICorDebugValue[arguments.Length]; for (int i = 0; i < arguments.Length; i++) { values[i] = arguments[i].m_val; } valuesLength = values.Length; } eval2.NewParameterizedObject(managedFunction.m_function, (uint)typesLength, types, (uint)valuesLength, values); }
public CorValue CreateValueForType(CorType type) { ICorDebugValue val = null; ICorDebugEval2 eval2 = (ICorDebugEval2)m_eval; eval2.CreateValueForType(type.m_type, out val); return(val == null ? null : new CorValue(val)); }
public void NewParameterizedArray(CorType type, int rank, int dims, int lowBounds) { ICorDebugEval2 eval2 = (ICorDebugEval2)m_eval; uint udims = (uint)dims; uint ulowBounds = (uint)lowBounds; eval2.NewParameterizedArray(type.m_type, (uint)rank, ref udims, ref ulowBounds); }
public void NewParameterizedObjectNoConstructor(CorClass managedClass, CorType[] argumentTypes) { ICorDebugType[] types = null; int typesLength = 0; ICorDebugEval2 eval2 = (ICorDebugEval2)m_eval; if (argumentTypes != null) { types = new ICorDebugType[argumentTypes.Length]; for (int i = 0; i < argumentTypes.Length; i++) { types[i] = argumentTypes[i].m_type; } typesLength = types.Length; } eval2.NewParameterizedObjectNoConstructor(managedClass.m_class, (uint)typesLength, types); }
/** Rude abort the current computation. */ public void RudeAbort() { ICorDebugEval2 eval2 = (ICorDebugEval2)m_eval; eval2.RudeAbort(); }
public CorEval(ICorDebugEval eval) : base(eval) { this.eval2 = eval as ICorDebugEval2; }
private void InvokeAssemblyLoad(ICorDebugEval2 eval, ICorDebugValue assemblyCodeInTargetProcess) { Logger.WriteLine("Calling Assembly.Load()"); ICorDebugType[] types = new ICorDebugType[0]; ICorDebugValue[] values = new ICorDebugValue[1] { assemblyCodeInTargetProcess }; eval.CallParameterizedFunction(_loadAssemblyMethod.Interface, 0, types, (uint)values.Length, values); Logger.WriteLine("Assembly.Load() call made. Waiting for results."); }