2012-05-10 60 views
2

這更像是'爲什麼這種方式會以這種方式工作'而不是'我如何做這項工作'這樣的問題。用於WCF遠程調試的符號位置

我有一個WCF Web服務,我正在遠程調試。它被部署到一個臨時服務器,在該服務器上安裝VS 2010遠程調試器並作爲Windows服務運行。權限是正確的,我可以附加到進程沒有任何問題。我遇到的問題是我無法持續獲取要加載的符號。

我將C:\ Webs \ MyService中的WCF服務部署到C:\ Webs \ MyService \ bin中的各種DLL中。它被設置爲一個獨立的網站,擁有自己的應用程序池。我發現的是,即使我在bin文件夾中有必要的.pdb文件,當我從本地機器連接到w3wp.exe進程時,Visual Studio也不會加載任何符號。發生了什麼事情是當IIS啓動併產生了工作進程時,我的服務DLL將被複制到臨時ASP.NET文件目錄下深處,如C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP .NET Files \ root \ 19f82539 \ e55fff8f \ assembly \ dl3 \ 2926a261 \ f625d158_f62ecd01。我發現如果我手動將.pdb文件複製到這個文件夾,那麼符號將被加載,我可以進行調試。

我想知道爲什麼它的工作方式,以及如何避免必須手動將符號文件複製到這個其他目錄。更糟糕的是,如果我必須進行更改和重新部署,工作流程將無法識別它們。我不得不重新啓動IIS,導致不同的臨時目錄被創建,需要我再次複製.pdb。

回答

2

我有一個類似的問題,與Web應用程序。顯然微軟知道這一點:http://go4answers.webhost4life.com/Example/remote-debugging-symbols-not-loaded-207525.aspx

希望他們很快就會發佈一個修復程序。

還有一個由BrianR提出的相關問題Why are no Symbols loaded when remote debugging?,建議使用調試文件創建一個文件夾,並在遠程服務器上將環境變量_NT_SYMBOL_PATH指向它。

+0

感謝提示,我認爲這是一個失敗的原因。 –

+0

不客氣! – Teorist