2012-05-10 102 views
3

我在wince7設備上調試我的應用程序。缺少pdb文件

幾分鐘後,我收到一個錯誤:「沒有任何符號加載任何調用堆棧幀,源代碼無法顯示。」

我注意到在模塊列表中,我有1個DLL缺少pdb文件。它的名字是System.Drawing.dll。 我注意到模塊添加到模塊列表後,一些線程(我不創建,我不知道是誰)創建。

我只在線程運行後才收到錯誤。

任何人都知道在哪裏可以找到所需的pdb文件? (我已經嘗試修復.net緊湊框架)

如何找出線程的起始位置? (我在代碼中找不到它)

接下來應該怎麼辦?

請幫

+0

您必須在「選項」對話框中啓用.NET Framework源代碼步進。 –

回答

6

裏面的Visual Studio

工具 - >選項 - >調試 - >符號 - >檢查Microsoft符號服務器可從中獲取符號的位置。

也在調試中的常規選項卡中取消選中「啓用只是我的代碼」,這將允許調試到其他程序集。

還啓用.NET Framework源代碼步驟複選框。

但我會推薦的是從符號服務器下載所有符號並將它們保存在本地。

然後在Visual Studio中的符號中添加本地目錄路徑作爲符號路徑。

下載符號 - >

在調試符號選項卡,選中Microsoft符號服務器,然後按確定。下載完成後,您可以添加另一條路徑,並指向該目錄,並取消Microsoft符號服務器或移動符號服務器路徑上面的本地路徑Visual Studio將自動下載符號的緩存目錄

C:\Users\[UserName]\AppData\Local\Temp\SymbolCache 

現在您應該可以加載符號並獲取方法名稱。

你也可能想看看http://msdn.microsoft.com/en-us/library/windows/hardware/ff558829(v=vs.85).aspx

希望這有助於。

+0

謝謝。我找到了System.Drawing.dll的符號。現在它要求mscorlib的符號。你知道我在哪裏可以找到它嗎? – janneob

+0

如果您已按照步驟操作,可以在工具 - >選項的調試選項卡下查看Visual Studio的本地緩存目錄,打開該目錄並檢查名爲mscorlib的文件夾。如果它不存在,請檢查Microsoft Symbol Server複選框,然後您的應用程序將在運行時下載這些符號。我認爲這會爲你做到。 – Dinesh

+0

我無法找到Microsoft Symbol Server複選框。我在哪裏可以找到它?視覺工作室下載了這些符號,但沒有下載這個符號。 – janneob