我已經使用clrdump創建了一個轉儲。當我去使用SOS以查看它,我加載SOS,然後運行DSO,但我得到的錯誤是:使用SOS調試.net
PDB symbol for mscorwks.dll not loaded
然而,在模塊窗口它說,該符號被加載。我已經從MS商店獲得了最新的符號?
有人有什麼想法嗎?
謝謝,
Darren。
我已經使用clrdump創建了一個轉儲。當我去使用SOS以查看它,我加載SOS,然後運行DSO,但我得到的錯誤是:使用SOS調試.net
PDB symbol for mscorwks.dll not loaded
然而,在模塊窗口它說,該符號被加載。我已經從MS商店獲得了最新的符號?
有人有什麼想法嗎?
謝謝,
Darren。
對於!dso
,您確實不需要mscorwks.dll
的符號來正常工作,但下面是關於如何獲取符號的一些建議。
您需要做的第一件事是驗證您是否設置了符號路徑?您可以使用.sympath
命令查看符號路徑的當前設置。您可以下載所有符號並將符號路徑指向光盤上的位置,也可以只使用在線符號服務器。無論哪種情況,符號路徑都必須指向正確的位置。
您可以使用.symfix
命令指向Microsoft的公共符號服務器,這可能是獲取符號的最簡單方法(只要您具有在線訪問權限)。使用lm
命令查看模塊及其符號。如果它在模塊旁邊說pdb symbols
一切都好。請記住,WinDbg只會根據需要加載符號,因此對於很多模塊,您可能會看到deferred
。您可以使用.reload /f
命令強制加載所有模塊的符號。
要解決加載符號的問題,請使用!sym noisy
命令。它會告訴你調試器在哪裏試圖找到PDB文件。
!sym noisy
.symfix
.reload -f
嗨,sym嘈雜的命令不適合我。它說錯誤:缺少操作數?有任何想法嗎? – 2010-11-23 10:46:41
@達倫:你有沒有包括'!'?命令是'!sym',參數是'吵鬧'。 – 2010-11-23 11:33:01
我做到了。我從此使用Windbg而不是VS調試器,並且它工作正常。謝謝。 – 2010-11-23 13:14:14