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)
{