2010-07-29 117 views
0

我試圖調試一個Web應用程序,並且遇到了一些相當奇怪的問題。我做的第一件事是附加到w3wp進程,並在執行的代碼中設置斷點。事情是,沒有任何突破點。考慮到我必須做錯了什麼,我停止了調試器,當我重新連接時,我的54個進程中只有6個顯示,沒有一個是w3wp(是的,我都顯示來自所有用戶的進程並顯示所有進程會話檢查)。重新啓動VS(或電腦)什麼都不做。任何人有什麼想法如何讓VS工作?調試器停止工作,並停止顯示活動進程

回答

0

雖然附加到進程,

  1. 點擊調試菜單
  2. 視窗 - >模塊
  3. 或者 「CTRL-d,M」

這將顯示你所有的由您附加的進程加載的dll。如果您需要的dll不在那裏,請刷新瀏覽器中的頁面並查看它們是否已添加到列表中。

如果他們不在列表

您連接到了錯誤的W3wp.exe進程

如果他們列表

  1. 看「路徑」欄,確保它是從執行,你期望的那樣。
  2. 查看「符號文件」一欄,如果是空的,
    1. 右擊DLL和「從載荷符號 - >」選擇,然後「符號路徑」
    2. 這將允許你來點直接添加到您要加載的本地pdb文件。它應該在「myproject/bin/debug /」目錄中。
    3. 這可能會說「pdb與模塊不匹配」(我忘記了)。如果是這種情況,這意味着您運行的代碼與您在Visual Studio中使用的版本不同。
    4. 這是非常重要的。如果你在gac中部署了一些東西,那麼在visual studio中版本生成,它會認爲pdbs與gac'd dll不同步!所以,如果你想調試你放在gac中的東西,這意味着pdb上的時間戳和加載的dll上的時間戳必須相同!

希望,這將讓這一切工作了。

+0

謝謝,它開始在你的帖子之前自行開發。我打算保存這個信息,雖然VS已經這樣做了 – 2010-07-29 21:09:05

+0

@ 0_o很高興幫助 – DevinB 2010-07-29 21:11:53