Ho una discarica di un .NET App universale in esecuzione su Raspberry Pi 2, Windows 10 IoT:Dove posso ottenere SOS per 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)
vedo che utilizza coreclr
come Silverlight ha fatto prima.
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
Facendo un !analyze -v
non scaricare automaticamente SOS.
Caricamento la versione di Silverlight di SOS che ho trovato sul mio PC indica la versione sbagliata:
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
...
Sembra che SOS was implemented on GitHub ma non riuscivo a trovare un download binario.
Sul mio PC con Visual Studio 2015 Comunità, sono riuscito a trovare un file chiamato mrt100sos.dll
nella cartella C:\Program Files\MSBuild\Microsoft\.NetNative\x86\
, che si rivela essere un estensione di debug e dice:
0:000> !help
mrt100sos is a debugger extension DLL designed to aid in debugging .NET Native
programs.
...
che sembrava ottimo. Ma in esecuzione qualsiasi comando genera il seguente messaggio di errore:
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.
sto a corto di idee ...
Come faccio a eseguire il debug di .NET universale discarica applicazione in un modo che posso vedere il callstack .NET?, che IMHO restituisce nella domanda Dove posso ottenere SOS per Windows 10 IoT?
Questa è una bella domanda. Chiederò in giro. – vcsjones
Ho anche effettuato l'accesso su Raspberry tramite PowerShell, ma un 'dir -s * sos.dll' non ha rivelato nulla. –
Sei in grado di utilizzare anche i comandi nativi di debug? Pensavo che WinDbg richiedesse di usarlo sulla stessa piattaforma su cui era stato creato il dump - quindi avresti avuto bisogno di una versione ARM di WinDbg. – vcsjones