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 4a45251793..a7a3145aa5 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 @@ -295,7 +295,11 @@ namespace Debugger throw new DebuggerException("Unable to get base class: " + fullTypeName); } else { ICorDebugClass superClass = corModuleSuperclass.GetClassFromToken(classProps.SuperClassToken); - return new ObjectValue(debugger, CorValue, superClass); + if (corHandleValue != null) { + return new ObjectValue(debugger, corHandleValue.As(), superClass); + } else { + return new ObjectValue(debugger, CorValue, superClass); + } } } } diff --git a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/Value.cs b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/Value.cs index 50e203c497..d643f57dc8 100644 --- a/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/Value.cs +++ b/src/AddIns/Misc/Debugger/Debugger.Core/Project/Src/Variables/Value.cs @@ -18,7 +18,7 @@ namespace Debugger protected NDebugger debugger; ICorDebugValue corValue; // ICorDebugHandleValue can be used to get corValue back after Continue() - ICorDebugHandleValue corHandleValue; + protected ICorDebugHandleValue corHandleValue; object pauseSessionAtCreation; public event EventHandler ValueChanged;