diff --git a/src/DynaMD.Tests/DynaMD.Tests.csproj b/src/DynaMD.Tests/DynaMD.Tests.csproj index 40c1c41..0ad456c 100644 --- a/src/DynaMD.Tests/DynaMD.Tests.csproj +++ b/src/DynaMD.Tests/DynaMD.Tests.csproj @@ -16,11 +16,11 @@ - + - + \ No newline at end of file diff --git a/src/DynaMD/DynaMD.csproj b/src/DynaMD/DynaMD.csproj index 2083a9f..e3bcc0f 100644 --- a/src/DynaMD/DynaMD.csproj +++ b/src/DynaMD/DynaMD.csproj @@ -1,7 +1,7 @@  - net471;netstandard2.0;netcoreapp3.1 + net48;netstandard2.0;netcoreapp3.1 DynaMD true false @@ -11,13 +11,13 @@ - - + + DynaMD - 1.0.9.1 + 1.1.0.0 DynaMD Kevin Gosse KooKiz @@ -25,13 +25,13 @@ https://github.com/kevingosse/DynaMD https://github.com/kevingosse/DynaMD/blob/master/LICENSE Helper objects to browse complex structures returned by ClrMD - Added Readme.md + Upgrade to ClrMD 3 Copyright 2017-$([System.DateTime]::UtcNow.ToString(yyyy)) ClrMD WinDBG SOS ..\..\nugets README.md - + \ No newline at end of file diff --git a/src/DynaMD/DynamicProxy.cs b/src/DynaMD/DynamicProxy.cs index b2b1651..a3aa04d 100644 --- a/src/DynaMD/DynamicProxy.cs +++ b/src/DynaMD/DynamicProxy.cs @@ -196,7 +196,7 @@ public override bool TryGetIndex(GetIndexBinder binder, object[] indexes, out ob var index = (int)indexes[0]; - result = GetElementAt(new ClrArray(_address, Type), index); + result = GetElementAt(new ClrObject(_address, Type).AsArray(), index); return true; } @@ -234,9 +234,12 @@ private object ConvertIfPrimitive(ClrValueType value) private object Read(ulong address, Type type) { - var m = typeof(IMemoryReader).GetMethod("Read", new[] { typeof(ulong) }).MakeGenericMethod(type); + // Module.DataReader.Read(address, out obj) + var dataReader = ClrObject.Type.Heap.Runtime.DataTarget.DataReader; - return m.Invoke(Type.ClrObjectHelpers.DataReader, new object[] { address }); + var m = typeof(IMemoryReader).GetMethod("Read", new[] { typeof(ulong) }).MakeGenericMethod(type); + + return m.Invoke(dataReader, new object[] { address }); } private object GetElementAt(ClrArray array, int index) diff --git a/src/DynaMD/Extensions.cs b/src/DynaMD/Extensions.cs index 77ec786..757fbcd 100644 --- a/src/DynaMD/Extensions.cs +++ b/src/DynaMD/Extensions.cs @@ -1,6 +1,7 @@ using DynaMD; using System.Collections.Generic; using System.Text; +using Microsoft.Diagnostics.Runtime.Interfaces; // ReSharper disable once CheckNamespace namespace Microsoft.Diagnostics.Runtime @@ -37,7 +38,7 @@ public static IEnumerable GetProxies(this ClrHeap heap, string typeName } } - public static dynamic AsDynamic(this T clrObject) where T : IAddressableTypedEntity + public static dynamic AsDynamic(this ClrObject clrObject) { if (clrObject.Address == 0) {