Closed pharring closed 1 year ago
Adding
new CacheOptions { UseOSMemoryFeatures = false }
to the LoadDump method works around it by disabling AWE.
I've fixed this as of ClrMD 2.3. We shouldn't be throwing in a bool returning method.
I also made AWE features opt-in instead of opt-out to reduce how sharp of an edge this is.
Using nuget package Microsoft.Diagnostics.Runtime 2.2.332302 I have a test that's failing in Azure Pipelines with the following callstack:
The exception meesage is:
System.Runtime.InteropServices.COMException : The handle is invalid. (0x80070006 (E_HANDLE))
This is an x86 process loading an x86 memory dump.
The
CachedMemoryReader
constructor is trying to enable theSeLockMemoryPrivilege
. However, for whatever reason, that's not available to x86 processes on the Azure Pipeline machine.CachedMemoryReader has fallback code to handle the case when you can't get that privilege:
Unfortuantely, the COMException thrown from EnableDisablePrivilege thwarts the fallback test. The CachedMemoryReader probably needs a try/catch around the call to EnableDisablePrivilege: