IfFailRet(FindFunction(pModule, typeName, getTypeHandleMethodName, &m_pGetTypeHandle));
}
+ if (!m_pRunClassConstructor || !m_pGetTypeHandle)
+ return E_FAIL;
+
ToRelease<ICorDebugValue> pNewValue;
ToRelease<ICorDebugValue> pUnboxedValue;
ULONG numstatic = 0;
ULONG numinstance = 0;
+ if (pValue == nullptr)
+ return 0;
+
IfFailRet(m_evaluator.WalkMembers(pValue, nullptr, nullptr, [&numstatic, &numinstance](
mdMethodDef,
ICorDebugModule *,
if (var.name.find('(') == std::string::npos) // expression evaluator does not support typecasts
var.evaluateName = ref.evaluateName + (isIndex ? "" : ".") + var.name;
bool escape = true;
- PrintValue(it.value, var.value, escape);
- TypePrinter::GetTypeOfValue(it.value, var.type);
+ if (it.value == nullptr)
+ {
+ var.value = "<error>";
+ }
+ else
+ {
+ PrintValue(it.value, var.value, escape);
+ TypePrinter::GetTypeOfValue(it.value, var.type);
+ }
AddVariableReference(var, ref.frameId, it.value, ValueIsVariable);
variables.push_back(var);
}