2012-06-18 73 views
4

我有一個COM應用程序,它實際上是一個PowerPoint的加載項。在以前的版本中,它使用了.NET 2.0及更高版本,.NET 3.5(它們都具有相同的CLR版本)。我習慣WinDbg和CDB來調試我的.NET應用程序,純粹是爲了例外。它很好地工作...但是,現在,我已經使用.NET框架爲我的最新版本不工作!用於.NET 4.0的獨立.NET CLR調試器?

有誰知道一個相當直接和輕量級的.NET 4.0調試器,這將類似於WinDbg?我明白微軟不再支持.NET 4.0的CLR調試,但爲什麼?

此外,任何人都可以知道我可以用來調試我的應用程序的任何其他「輕量級」方法嗎?它安裝在數百臺機器上,安裝VS2010不幸是一種選擇!

欣賞任何輸入。

邁克

+0

'瞭解微軟不再支持.NET 4.0的CLR調試,但爲什麼?'這是不正確的。使用SOS/PSSCOR進行CLR調試適用於v4。 – vcsjones

+0

@vcsjones是獨立的,可以像WinDbg一樣從USB運行? – DerekP

+0

爲什麼Visual Studio不是一個選項? –

回答

1

我不知道你所說的WinDbg不能調試.NET 4的意思爲絕對支持。 SOS,PSSCOR和SOSEX都可以使用.NET 4.

但是請記住,.NET運行時DLL在.NET 4中已從mscorwks重命名爲clr,因此當您加載SOS時,您必須執行.loadby sos clr.loadby sos mscorwks

+0

並使用v4.0.30319版本的sos.dll。它已經知道clr.dll –

+0

@HansPassant:那麼,你需要使用框架附帶的SOS版本。 '.loadby'命令只是從與運行時相同的位置獲取擴展名。如果框架位置是路徑的一部分,'.load'也可以正常工作。 –

+0

@BrianRasmussen我仍然在調試.NET 4.0時遇到問題。我知道我正在製造一個例外。我的腳本如下所示:'「%〜dp0cdb.exe」-pn EXCEL.exe -c「.loadby sos clr; sxi *; sxi av; sxe -c \」!clrstack;!pe; .echotime; .echo * **; g; \「clr; g;」 >「%USERPROFILE%\ Desktop \ 4MQ_log.txt」任何想法爲什麼這不起作用?我可以讓日誌創建,但它不能識別任何我想故意創建的概念! – DerekP