internal static int GetSlot(this ISymUnmanagedVariable local) { int slot; local.GetAddressField1(out slot); return(slot); }
internal static int GetSlot(this ISymUnmanagedVariable local) { int result; int hr = local.GetAddressField1(out result); ThrowExceptionForHR(hr); return(result); }
public static int GetSlot(this ISymUnmanagedVariable local) { if (local == null) { throw new ArgumentNullException(nameof(local)); } int result; ThrowExceptionForHR(local.GetAddressField1(out result)); return(result); }
static Value GetLocalVariableValue(StackFrame context, ISymUnmanagedVariable symVar) { ICorDebugValue corVal; try { corVal = context.CorILFrame.GetLocalVariable((uint)symVar.GetAddressField1()); } catch (COMException e) { if ((uint)e.ErrorCode == 0x80131304) { throw new GetValueException("Unavailable in optimized code"); } throw; } return(new Value(context.AppDomain, corVal)); }
public static void ValidateVariable(ISymUnmanagedVariable variable, string name, int slot, LocalVariableAttributes attributes, byte[] signature) { int length, length2; // name: Assert.Equal(HResult.S_OK, variable.GetName(0, out length, null)); Assert.Equal(name.Length + 1, length); var actualName = new char[length]; Assert.Equal(HResult.S_OK, variable.GetName(length, out length2, actualName)); Assert.Equal(length, length2); Assert.Equal(name + "\0", new string(actualName)); int value; Assert.Equal(HResult.S_OK, variable.GetAddressField1(out value)); Assert.Equal(slot, value); Assert.Equal(HResult.E_NOTIMPL, variable.GetAddressField2(out value)); Assert.Equal(HResult.E_NOTIMPL, variable.GetAddressField3(out value)); Assert.Equal(HResult.E_NOTIMPL, variable.GetStartOffset(out value)); Assert.Equal(HResult.E_NOTIMPL, variable.GetEndOffset(out value)); Assert.Equal(HResult.S_OK, variable.GetAttributes(out value)); Assert.Equal(attributes, (LocalVariableAttributes)value); Assert.Equal(HResult.S_OK, variable.GetAddressKind(out value)); Assert.Equal(1, value); Assert.Equal(HResult.S_OK, variable.GetSignature(0, out length, null)); var actualSignature = new byte[length]; Assert.Equal(HResult.S_OK, variable.GetSignature(length, out length2, actualSignature)); Assert.Equal(length, length2); AssertEx.Equal(signature, actualSignature); }
static Value GetLocalVariableValue(StackFrame context, ISymUnmanagedVariable symVar) { ICorDebugValue corVal; try { corVal = context.CorILFrame.GetLocalVariable((uint)symVar.GetAddressField1()); } catch (COMException e) { if ((uint)e.ErrorCode == 0x80131304) throw new GetValueException("Unavailable in optimized code"); throw; } return new Value(context.AppDomain, corVal); }