2015-08-29 79 views
6

我有一個.NET通用的應用程序運行的轉儲上樹莓派2時,Windows 10物聯網:我可以在哪裏獲得Windows 10 IoT的SOS?

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) 

我看到它使用coreclr像Silverlight以前那樣。

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 

做一個!analyze -v不會自動下載SOS。

加載SOS的Silverlight的版本,我在我的電腦上發現指示錯誤的版本:

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

看來SOS was implemented on GitHub,但我無法找到一個二進制下載。

在我的Visual Studio 2015年社區PC,我能找到一個這原來是一個調試擴展,並表示該文件夾C:\Program Files\MSBuild\Microsoft\.NetNative\x86\名爲mrt100sos.dll文件:

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

聽起來很棒。但在運行了以下錯誤消息的任何命令的結果:

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. 

我跑出來的想法......

怎樣的方式,我可以看到調試.NET通用的應用程序轉儲.NET的調用堆棧?,其中恕我直言導致的問題我在哪裏可以得到Windows 10物聯網的SOS?

+3

這是一個非常好的問題。我會問。 – vcsjones

+0

我也通過PowerShell登錄了Raspberry,但是'dir -s * sos.dll'什麼也沒有透露。 –

+0

你甚至可以使用本機調試命令嗎?我雖然WinDbg要求你在創建轉儲的平臺上使用它 - 所以你需要一個ARM版本的WinDbg。 – vcsjones

回答

1

CoreCLR可以託管在跨平臺.NET執行運行時(DNX)中。
因此,如果您安裝ASP.NET 5或Visual Studio 2015年,你應該有DNX這條道路上:
%userprofile%\.dnx

通過DNVM install(包含DNX),你應該能夠安裝的版本完全相同CoreCLR,但目前這不適用於1.0.23430.0 - 我們在UWP10.0中有。

不管怎麼說,SOS在%userprofile%\.dnx\runtimes\dnx-coreclr-win-x86.1.0.0-rc1-update1\bin\sos.dll似乎工作,即使有一個小的版本不匹配:

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

我有VS 2015安裝,但沒有'%userprofile%\。dnx'文件夾。安裝程序不提供安裝DNX的選項。有一個文件夾'C:\ Program Files \ Microsoft DNX \ Dnvm',但'dnvm install 1.0.23430.0'返回HTTP 404(這也許是你'用'表示'不起作用') –

+0

'dnvm install 1.0.0- rc1-update1'下載了一些東西。在我的PC上的C:\ Program Files(x86)\ Microsoft Web Tools \ DNX \ dnx-coreclr-win-x86.1.0.0-beta8 \ bin \ sos.dll中有一個SOS.dll。我現在有一個mscordaccore_x86_arm_4.6.23117.00.dll的mscordacwks類型的問題。不確定是否存在這樣的跨平臺DLL - 而且我還沒有看到過ARM版本的WinDbg。 –

相關問題