我在21 C#項目(ANY CPU)解決方案中的單個C#項目存在問題。Visual Studio 2010 SP1 - C#PDB文件損壞 - 顯示錯誤的行號
斷點沒有命中 - 當我強制調試器附加(Debugger.Launch())時,我可以看到調用堆棧顯示正確的功能,但是行號非常錯誤。
在一個具體的例子中,我在1020行的第346行有一個斷點 - 但是調試器導航到第10745行,這導致調試器顯示完全不同的文件的結果。從日誌文件中我可以看到正在執行的方法正確。
經過很多頭痛之後,我選擇在安裝了VS 2010 SP1的2臺不同的機器上嘗試 - 並且這些機器顯示出完全相同的行爲。
我已經嘗試完全清理解決方案,手動刪除所有PDB文件,重新啓動VS,重新啓動機器,清空VS Symbol緩存(工具>選項>調試>符號),刪除所有「符號文件(.pdb)位置「並刪除解決方案的」.SDF「數據庫。
我在調試模式下編譯項目,並驗證項目上未啓用「優化代碼」。
解決方案中不同項目的斷點確實起作用 - 所以看起來只有這一個項目出於某種原因生成了損壞的PDB文件。但是,我不明白爲什麼這個單一的項目應該與其他項目不同。唯一真正的區別是我在這個特定的項目中有2個Web引用 - 並且足夠有趣的是,在這些存根類中,PDB文件總是指示調試器最終結束。
特定的解決方案正在一個完全修補的Windows 2003 x86機器上編譯和調試。
如果有人能給我一個提示如何解決這個問題,我將不勝感激。
只是一個想法,重命名Web引用,然後再試一次。 –
試過這個 - 沒有運氣 - 同樣的問題 – user849496