2015-08-29 10 views
6

Mam zrzut uruchomionym NET Uniwersalny App na Raspberry Pi 2, Windows 10 Internetu przedmiotów:Gdzie mogę uzyskać SOS dla Windows 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) 

widzę używa coreclr jak Silverlight przedtem.

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 

Wykonanie !analyze -v nie powoduje automatycznego pobrania SOS.

Ładowanie wersję Silverlight SOS znalazłem na moim komputerze wskazuje niewłaściwą wersję:

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 
... 

Wydaje się, że SOS was implemented on GitHub ale nie mogłem znaleźć binarne pobrania.

Na moim komputerze z Visual Studio 2015 Wspólnocie, udało mi się znaleźć plik o nazwie mrt100sos.dll w folderze C:\Program Files\MSBuild\Microsoft\.NetNative\x86\, który okazuje się być rozszerzenie debugowania i mówi:

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

który brzmiał świetnie. Ale działa żadnych wyników poleceń w następujący komunikat o błędzie:

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. 

biegnę z pomysłów ...

Jak debugowania aplikacji .NET uniwersalny zrzut w taki sposób, że mogę zobaczyć stację wywoławczą .NET?, które IMHO skutkuje w pytaniu Skąd mogę pobrać SOS dla Windows 10 IoT?

+3

Jest to bardzo dobre pytanie. Zapytam w okolicy. – vcsjones

+0

Również zalogowałem się na Raspberry przez PowerShell, ale 'dir -s * sos.dll' nie ujawnił niczego. –

+0

Czy można nawet używać rodzimych poleceń debugowania? Chociaż WinDbg wymagał użycia go na tej samej platformie, na której utworzono zrzut, więc potrzebowałbyś wersji WinDbg z ARM. – vcsjones

Odpowiedz

1

CoreCLR może być hostowany w wieloplatformowym środowisku wykonawczym .NET Execution (DNX).
Tak więc, jeśli zainstalować ASP.NET 5 lub Visual Studio 2015, należy mieć DNX na tej drodze:
%userprofile%\.dnx

Via DNVM install (dołączony DNX), powinieneś być w stanie zainstalować dokładnie tę samą wersję CoreCLR, ale obecnie to nie działa dla 1.0.23430.0 - co mamy w UWP10.0.

Zresztą SOS na %userprofile%\.dnx\runtimes\dnx-coreclr-win-x86.1.0.0-rc1-update1\bin\sos.dll wydaje się działać, nawet jeśli nie jest to mała wersja niedopasowanie:

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

+0

Mam zainstalowany VS 2015, ale nie ma '% userprofile% \. Dnx'folder. Instalator nie zapewnia opcji instalacji DNX. Istnieje folder "C: \ Program Files \ Microsoft DNX \ Dnvm', ale' dnvm install 1.0.23430.0' zwraca HTTP 404 (który jest prawdopodobnie tym, co wyraziłeś przez "nie działa") –

+0

'dnvm install 1.0.0- rc1-update1' pobrała coś. Na moim komputerze PC znajduje się plik SOS.dll w pliku "C: \ Program Files (x86) \ Microsoft Web Tools \ DNX \ dnx-coreclr-win-x86.1.0.0-beta8 \ bin \ sos.dll". Mam teraz problem typu mscordacwks dla 'mscordaccore_x86_arm_4.6.23117.00.dll'. Nie jestem pewien, czy istnieją takie międzyplatformowe biblioteki DLL - i jeszcze nie widziałem wersji WinDbg z ARM. –

Powiązane problemy