2010-11-22 27 views
0

我已經使用clrdump創建了一個轉儲。當我去使用SOS以查看它,我加載SOS,然後運行DSO,但我得到的錯誤是:使用SOS調試.net

PDB symbol for mscorwks.dll not loaded 

然而,在模塊窗口它說,該符號被加載。我已經從MS商店獲得了最新的符號?

有人有什麼想法嗎?

謝謝,

Darren。

回答

2

對於!dso,您確實不需要mscorwks.dll的符號來正常工作,但下面是關於如何獲取符號的一些建議。

您需要做的第一件事是驗證您是否設置了符號路徑?您可以使用.sympath命令查看符號路徑的當前設置。您可以下載所有符號並將符號路徑指向光盤上的位置,也可以只使用在線符號服務器。無論哪種情況,符號路徑都必須指向正確的位置。

您可以使用.symfix命令指向Microsoft的公共符號服務器,這可能是獲取符號的最簡單方法(只要您具有在線訪問權限)。使用lm命令查看模塊及其符號。如果它在模塊旁邊說pdb symbols一切都好。請記住,WinDbg只會根據需要加載符號,因此對於很多模塊,您可能會看到deferred。您可以使用.reload /f命令強制加載所有模塊的符號。

要解決加載符號的問題,請使用!sym noisy命令。它會告訴你調試器在哪裏試圖找到PDB文件。

+0

嗨,sym嘈雜的命令不適合我。它說錯誤:缺少操作數?有任何想法嗎? – 2010-11-23 10:46:41

+0

@達倫:你有沒有包括'!'?命令是'!sym',參數是'吵鬧'。 – 2010-11-23 11:33:01

+0

我做到了。我從此使用Windbg而不是VS調試器,並且它工作正常。謝謝。 – 2010-11-23 13:14:14

1
!sym noisy  
.symfix 
.reload -f