if (objData.Request(g_sos, TO_CDADDR(DynamicMethodObj)) != S_OK)
return bRet;
- iOffset = GetObjFieldOffset(DynamicMethodObj, objData.MethodTable, W("m_resolver"));
+ iOffset = GetObjFieldOffset(TO_CDADDR(DynamicMethodObj), objData.MethodTable, W("m_resolver"));
if (iOffset <= 0)
return bRet;
if (objData.Request(g_sos, TO_CDADDR(resolverPtr)) != S_OK)
return bRet;
- iOffset = GetObjFieldOffset(resolverPtr, objData.MethodTable, W("m_code"));
+ iOffset = GetObjFieldOffset(TO_CDADDR(resolverPtr), objData.MethodTable, W("m_code"));
if (iOffset <= 0)
return bRet;
return bRet;
// We also need the resolution table
- iOffset = GetObjFieldOffset (resolverPtr, objData.MethodTable, W("m_scope"));
+ iOffset = GetObjFieldOffset (TO_CDADDR(resolverPtr), objData.MethodTable, W("m_scope"));
if (iOffset <= 0)
return bRet;
if (objData.Request(g_sos, TO_CDADDR(scopePtr)) != S_OK)
return bRet;
- iOffset = GetObjFieldOffset (scopePtr, objData.MethodTable, W("m_tokens"));
+ iOffset = GetObjFieldOffset (TO_CDADDR(scopePtr), objData.MethodTable, W("m_tokens"));
if (iOffset <= 0)
return bRet;
if (objData.Request(g_sos, TO_CDADDR(tokensPtr)) != S_OK)
return bRet;
- iOffset = GetObjFieldOffset(tokensPtr, objData.MethodTable, W("_items"));
+ iOffset = GetObjFieldOffset(TO_CDADDR(tokensPtr), objData.MethodTable, W("_items"));
if (iOffset <= 0)
return bRet;
void PrintRuntimeTypeInfo(TADDR p_rtObject, const DacpObjectData & rtObjectData)
{
// Get the method table
- int iOffset = GetObjFieldOffset(p_rtObject, rtObjectData.MethodTable, W("m_handle"));
+ int iOffset = GetObjFieldOffset(TO_CDADDR(p_rtObject), rtObjectData.MethodTable, W("m_handle"));
if (iOffset > 0)
{
TADDR mtPtr;
if (_wcscmp(obj.GetTypeName(), W("System.RuntimeType+RuntimeTypeCache")) == 0)
{
// Get the method table
- int iOffset = GetObjFieldOffset (taObj, objData.MethodTable, W("m_runtimeType"));
+ int iOffset = GetObjFieldOffset (TO_CDADDR(taObj), objData.MethodTable, W("m_runtimeType"));
if (iOffset > 0)
{
TADDR rtPtr;
// Walk the fields, printing some fields in a special way.
- int iOffset = GetObjFieldOffset (p_PermSet, PermSetData.MethodTable, W("m_Unrestricted"));
+ int iOffset = GetObjFieldOffset (TO_CDADDR(p_PermSet), PermSetData.MethodTable, W("m_Unrestricted"));
if (iOffset > 0)
{
ExtOut("Unrestricted: FALSE\n");
}
- iOffset = GetObjFieldOffset (p_PermSet, PermSetData.MethodTable, W("m_permSet"));
+ iOffset = GetObjFieldOffset (TO_CDADDR(p_PermSet), PermSetData.MethodTable, W("m_permSet"));
if (iOffset > 0)
{
TADDR tbSetPtr;
return Status;
}
- iOffset = GetObjFieldOffset (tbSetPtr, tbSetData.MethodTable, W("m_Set"));
+ iOffset = GetObjFieldOffset (TO_CDADDR(tbSetPtr), tbSetData.MethodTable, W("m_Set"));
if (iOffset > 0)
{
DWORD_PTR PermsArrayPtr;
}
}
- iOffset = GetObjFieldOffset (tbSetPtr, tbSetData.MethodTable, W("m_Obj"));
+ iOffset = GetObjFieldOffset (TO_CDADDR(tbSetPtr), tbSetData.MethodTable, W("m_Obj"));
if (iOffset > 0)
{
DWORD_PTR PermObjPtr;
COR_E_DATAMISALIGNED, // kDataMisalignedException
};
-BOOL IsAsyncException(TADDR taObj, TADDR mtObj)
+BOOL IsAsyncException(CLRDATA_ADDRESS taObj, CLRDATA_ADDRESS mtObj)
{
// by default we'll treat exceptions as synchronous
UINT32 xcode = EXCEPTION_COMPLUS;
ExtOut("%S", pwsz);
}
-HRESULT FormatException(TADDR taObj, BOOL bLineNumbers = FALSE)
+HRESULT FormatException(CLRDATA_ADDRESS taObj, BOOL bLineNumbers = FALSE)
{
HRESULT Status = S_OK;
DacpObjectData objData;
- if ((Status=objData.Request(g_sos, TO_CDADDR(taObj))) != S_OK)
+ if ((Status=objData.Request(g_sos, taObj)) != S_OK)
{
ExtOut("Invalid object\n");
return Status;
// First try to get exception object data using ISOSDacInterface2
DacpExceptionObjectData excData;
- BOOL bGotExcData = SUCCEEDED(excData.Request(g_sos, TO_CDADDR(taObj)));
+ BOOL bGotExcData = SUCCEEDED(excData.Request(g_sos, taObj));
// Walk the fields, printing some fields in a special way.
// HR, InnerException, Message, StackTrace, StackTraceString
}
BOOL bAsync = bGotExcData ? IsAsyncException(excData)
- : IsAsyncException(taObj, TO_TADDR(objData.MethodTable));
+ : IsAsyncException(taObj, objData.MethodTable);
{
TADDR taStackTrace = 0;
if (p_Object)
{
- FormatException(p_Object, bLineNumbers);
+ FormatException(TO_CDADDR(p_Object), bLineNumbers);
}
// Are there nested exceptions?
}
ExtOut("\nNested exception -------------------------------------------------------------\n");
- Status = FormatException((DWORD_PTR) obj, bLineNumbers);
+ Status = FormatException(obj, bLineNumbers);
if (Status != S_OK)
{
return Status;
{
INIT_API();
MINIDUMP_NOT_SUPPORTED();
-
+
DWORD_PTR p_Object = NULL;
CMDValue arg[] =
if (_wcscmp(g_mdName, W("System.RuntimeType")) == 0)
{
pArgs->mtOfRuntimeType = methodTable;
- pArgs->handleFieldOffset = GetObjFieldOffset(objAddr, methodTable, W("m_handle"));
+ pArgs->handleFieldOffset = GetObjFieldOffset(TO_CDADDR(objAddr), TO_CDADDR(methodTable), W("m_handle"));
if (pArgs->handleFieldOffset <= 0)
ExtOut("Error getting System.RuntimeType.m_handle offset\n");
}
BOOL bAsync = bGotExcData ? IsAsyncException(excData)
- : IsAsyncException(TO_TADDR(cdaObj), TO_TADDR(objData.MethodTable));
+ : IsAsyncException(cdaObj, objData.MethodTable);
DWORD_PTR arrayPtr;
if (bGotExcData)