diff --git a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/ObjectValue.cs b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/ObjectValue.cs index 71c8d0daa2..b9538f8c50 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/ObjectValue.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/ObjectValue.cs @@ -182,7 +182,7 @@ namespace Debugger ICorDebugValue[] GetArgsForEval(MethodProps method, ValueGetter getter) { - ObjectValue updatedVal = (ObjectValue)getter(); + ObjectValue updatedVal = getter() as ObjectValue; if (this.IsEquivalentValue(updatedVal)) { if (method.IsStatic) { return new ICorDebugValue[] {}; diff --git a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/Variable.cs b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/Variable.cs index 76a1428912..3e939682d9 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/Variable.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/Variable.cs @@ -120,6 +120,13 @@ namespace Debugger this.valueGetter = valueGetter; this.subVariables = new VariableCollection(debugger); this.subVariables.Updating += OnSubVariablesUpdating; + + if (name.StartsWith("<") && name.Contains(">") && name != "<Base class>") { + string middle = name.TrimStart('<').Split('>')[0]; // Get text between '<' and '>' + if (middle != "") { + this.name = middle; + } + } } void OnSubVariablesUpdating(object sender, VariableCollectionEventArgs e)