Esempio n. 1
0
        internal ILRuntimeException(string message, ILIntepreter intepreter, CLR.Method.ILMethod method, Exception innerException = null)
            : base(message, innerException)

        {
            var ds = intepreter.AppDomain.DebugService;

            if (innerException is ILRuntimeException)
            {
                ILRuntimeException e = innerException as ILRuntimeException;
                stackTrace = e.stackTrace;
                thisInfo   = e.thisInfo;
                localInfo  = e.localInfo;
            }
            else
            {
                stackTrace = ds.GetStackTrace(intepreter);
                if (method.HasThis)
                {
                    thisInfo = ds.GetThisInfo(intepreter);
                }
                else
                {
                    thisInfo = "";
                }
                localInfo = ds.GetLocalVariableInfo(intepreter);
            }

            if (ds.OnILRuntimeException != null)
            {
                ds.OnILRuntimeException(ToString());
            }
        }
Esempio n. 2
0
        internal ILRuntimeException(string message, ILIntepreter intepreter, CLR.Method.ILMethod method, Exception innerException = null)
            : base(message, innerException)

        {
            if (innerException is ILRuntimeException)
            {
                ILRuntimeException e = innerException as ILRuntimeException;
                stackTrace = e.stackTrace;
                thisInfo   = e.thisInfo;
                localInfo  = e.localInfo;
            }
            else
            {
                stackTrace = Debugger.DebugService.Instance.GetStackTrance(intepreter);
                if (method.HasThis)
                {
                    thisInfo = Debugger.DebugService.Instance.GetThisInfo(intepreter);
                }
                else
                {
                    thisInfo = "";
                }
                localInfo = Debugger.DebugService.Instance.GetLocalVariableInfo(intepreter);
            }
        }