Where can I get SOS for Windows 10 IoT?

I have a dump of the .NET Universal application running on Raspberry Pi 2, Windows 10 IoT:

0:000> vertarget Windows 10 Version 10240 MP (4 procs) Free ARM (NT) Thumb-2 Product: WinNt, suite: SingleUserTS Built by: 10.0.10240.16384 (th1.150709-1700) 

I see that it uses coreclr , as Silverlight did before.

 0:000> lm vm coreclr start end module name 6e430000 6e7fd000 coreclr (export symbols) coreclr.dll Loaded symbol image file: coreclr.dll ... Timestamp: Thu Jul 16 21:37:39 2015 (55A88693) ... File version: 4.6.23117.0 Product version: 4.0.23117.0 

Running !analyze -v does not load SOS automatically.

Downloading the Silverlight version of SOS found on my PC indicates the wrong version:

 0:000> .load C:\Program Files\Microsoft Silverlight\5.1.20513.0\sos.dll 0:000> !threads The version of SOS does not match the version of CLR you are debugging. Please load the matching version of SOS for the version of CLR you are debugging. CLR Version: 4.6.23117.0 SOS Version: 5.1.20513.0 Failed to load data access DLL, 0x80004005 ... 

It seems that SOS was implemented on GitHub , but I could not find the binary boot.

On my PC with the Visual Studio 2015 community, I could find a file called mrt100sos.dll in the folder C:\Program Files\MSBuild\Microsoft\.NetNative\x86\ , which, as it turned out, is a debugging extension and says:

 0:000> !help mrt100sos is a debugger extension DLL designed to aid in debugging .NET Native programs. ... 

which sounded great. But when executing any commands, the following error message appears:

 0:000> !threads Failed to find runtime DLL (mrt100_app.dll), 0x80004005 Extension commands need mrt100_app.dll in order to have something to do. 

I'm running out of ideas ...

How to debug a dump of a generic .NET application so that I can see the .NET column? Which IMHO leads to the question Where can I get SOS for Windows 10 IoT?

+6
source share
1 answer

CoreCLR can be hosted in a cross-platform execution of .NET execution (DNX).
Thus, if you are installing ASP.NET 5 or Visual Studio 2015, you should have DNX in this way:
%userprofile%\.dnx

Through DNVM install (included with DNX) you must install the same version of CoreCLR, but this does not currently work for 1.0.23430.0 - which we have in UWP10.0.

Anyway, SOS at %userprofile%\.dnx\runtimes\dnx-coreclr-win-x86.1.0.0-rc1-update1\bin\sos.dll seems to work even if there is a slight version mismatch:

The version of SOS does not match the version of CLR you are debugging. Please load the matching version of SOS for the version of CLR you are debugging. CLR Version: 4.6.23430.0 SOS Version: 4.6.23516.1

+1
source

All Articles