ObjectValue CreateVarObject(string exp)
        {
            try
            {
                session.SelectThread(threadId);

                foreach (var symbol in symbols)
                {
                    if (symbol.Name.ToLower() == exp.ToLower())
                    {
                        return(CreateObjectValue(symbol));
                    }
                }

                DebugScopedSymbol evaluatedSymbol = this.session.SymbolResolver.Evaluate(exp, threadId);
                if (evaluatedSymbol != null)
                {
                    session.RegisterTempVariableObject(exp);
                    return(CreateObjectValue(evaluatedSymbol));
                }

                return(ObjectValue.CreateUnknown(exp));
            }
            catch (Exception ex)
            {
                return(ObjectValue.CreateFatalError(exp, ex.Message, ObjectValueFlags.Error));
            }
        }
예제 #2
0
 public ObjectValue CreateObjectValue(EvaluationContext ctx, IObjectValueSource source, ObjectPath path, object obj, ObjectValueFlags flags)
 {
     try {
         return(CreateObjectValueImpl(ctx, source, path, obj, flags));
     }
     catch (Exception ex) {
         Console.WriteLine(ex);
         return(ObjectValue.CreateFatalError(path.LastName, ex.Message, flags));
     }
 }
예제 #3
0
		public void Stop ()
		{
			lock (asyncCallbacks) {
				cancelTimestamp = asyncCounter;
				runner.CancelAll ();
				foreach (var cb in asyncCallbacks.Values) {
					try {
						cb.UpdateValue (ObjectValue.CreateFatalError ("", "Canceled", ObjectValueFlags.None));
					} catch {
					}
				}
				asyncCallbacks.Clear ();
				asyncResults.Clear ();
			}
		}