diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Expressions/EvaluateAstVisitor.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Expressions/EvaluateAstVisitor.cs index ea1d7127d9..065ffacfb9 100644 --- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Expressions/EvaluateAstVisitor.cs +++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Expressions/EvaluateAstVisitor.cs @@ -154,14 +154,15 @@ namespace Debugger.AddIn Value val = Eval.NewObjectNoConstructor(DebugType.Create(context.Process, null, typeof(bool).FullName)); - switch (binaryOperatorExpression.Op) - { - case BinaryOperatorType.Equality : - val.PrimitiveValue = (right.PrimitiveValue == left.PrimitiveValue); - break; - case BinaryOperatorType.InEquality : - val.PrimitiveValue = (right.PrimitiveValue != left.PrimitiveValue); - break; + try { + switch (binaryOperatorExpression.Op) + { + case BinaryOperatorType.Equality : + val.PrimitiveValue = object.Equals(right.PrimitiveValue, left.PrimitiveValue); + break; + case BinaryOperatorType.InEquality : + val.PrimitiveValue = !object.Equals(right.PrimitiveValue, left.PrimitiveValue); + break; // case BinaryOperatorType.Add : // val.PrimitiveValue = (right.PrimitiveValue.ToString() + left.PrimitiveValue.ToString()); // break; @@ -174,8 +175,11 @@ namespace Debugger.AddIn // case BinaryOperatorType.GreaterThanOrEqual : // val.PrimitiveValue = (right.PrimitiveValue >= left.PrimitiveValue); // break; - default : - throw new NotImplementedException("BinaryOperator: " + binaryOperatorExpression.Op + "!"); + default : + throw new NotImplementedException("BinaryOperator: " + binaryOperatorExpression.Op + "!"); + } + } catch (System.Exception e) { + throw new GetValueException(e.Message); } return val; diff --git a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/WindowsDebugger.cs b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/WindowsDebugger.cs index 68c467cb1d..1ad6159f40 100644 --- a/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/WindowsDebugger.cs +++ b/src/AddIns/Misc/Debugger/Debugger.AddIn/Project/Src/Service/WindowsDebugger.cs @@ -594,7 +594,8 @@ namespace ICSharpCode.SharpDevelop.Services else return false; } catch (GetValueException e) { - throw e; + WorkbenchSingleton.SafeThreadAsyncCall(MessageService.ShowError, e); + return true; } }