我在源代碼中設置了斷點,但它會讓我警告源代碼與原始代碼不同。它不會命中breakpoint.Hit位置以允許更改源代碼。任何人都可以解釋我是否是問題?在Visual Studio 2010中調試源代碼時給出的警告
回答
源代碼文件的校驗和與PDB文件中的校驗和不匹配。
解決方案重建解決方案。
解決方法:在斷點檢查的位置屬性Allow source code to be different
執行構建 - >清理解決方案,然後構建 - >構建解決方案。然後再次嘗試調試,確保活動配置是調試。
你的源代碼是不一樣的編譯時間。您可以停止,清理並重建您的項目。
當編譯&運行發佈版本時,可能會發生這種情況。在發佈版本的編譯器,使可能更改或刪除部分代碼,藉此例如優化:
static void Main()
{
int x = 10 + 5; // <---- BREAKPOINT HERE
Console.WriteLine("Foo");
}
如果你編譯&運行,在調試版本的代碼,該斷點被觸發如常。在發佈版本中,編譯器會看到'x'從不使用,並且會「優化」整個行,這意味着斷點永遠不會被擊中!
+1很酷,清晰的示例以獲得跨越 –
我有一個解決方案中的類庫和另一個解決方案中的Web項目時出現此問題。在逐步瀏覽web解決方案中的代碼時,它進入了我的類庫。這導致在我的web解決方案中打開類庫文件。
我在我的類庫中更改了一些代碼時發生了問題。正常情況下,我按照正確的順序構建了兩個項目。但是,我會收到消息說源代碼是不同的。這是因爲我的網絡解決方案中的類文件仍舊打開,因爲以下選項已關閉。
選項>環境>檢測時,文件被環境
關閉在我的web項目中的類文件之外的改變解決我的問題。我現在正在改變這個選擇。
希望這可以幫助別人。
以上建議在運行單元測試時不適用於我 - 我正在執行整個解決方案的清理和重建,但DLL和PDB文件沒有在〜\ UnitTests \ bin \ Debug目錄中被刪除,所以我必須手動刪除這些文件,然後右鍵單擊UnitTests目錄並選擇「Build」。
請注意,在我的情況下,我正在使用Visual Studio 2013與更新3。
UPDATE:
結束了創建一個批處理文件來清理並生成我的解決方案,以便Visual Studio不正確留有一定的項目,而不必重建他們:
msbuild.exe "MyClassLibrary\MyClassLibrary.csproj" /t:Rebuild /p:Configuration=Debug
msbuild.exe "UnitTests\UnitTests.csproj" /t:Rebuild /p:Configuration=Debug
- 1. 在Visual Studio 2010中調試IronPython - 源代碼行不同步
- 2. std :: string在Visual Studio 2010中給出了編譯器警告
- 3. 調試java代碼時出現警告
- 4. 開始調試時,Visual Studio 2010不會警告構建錯誤
- 5. 試圖剿資源警告在Visual Studio
- 6. 在Visual Studio 2010中進行調試時的代碼覆蓋率
- 7. 從Visual Studio 2010調試VB6代碼
- 8. 從Visual Studio 2010調試.net 1.1代碼
- 9. 調試在Visual Studio 2010中正在測試的代碼
- 10. Visual Studio 2010中的代碼分析警告 - CA1007
- 11. Visual Studio 2010中的源代碼管理?
- 12. 如何在Visual Basic 2010中進行調試時輸出代碼?
- 13. Visual Studio 2010中的下劃線警告?
- 14. Visual Studio:用源代碼調試Chrome?
- 15. Visual Studio,調試時的庫源碼
- 16. 從Visual Studio 2010中的Visual Studio 2008項目編輯源代碼
- 17. Visual Studio 2010中長時間的調試
- 18. 調試.NET Framework的源代碼僅在Visual Studio 2010中顯示反彙編
- 19. 調試和Visual Studio 2010中
- 20. DebuggerVisualizer調試在Visual Studio 2010
- 21. Visual Studio 2008:如何在調試時加載源代碼
- 22. Visual Studio代碼調試
- 23. Visual Studio代碼 - 而調試
- 24. 如何在Visual Studio 2015中調試現有的C++源代碼?
- 25. 在Visual Studio中調試框架代碼
- 26. 在Visual Studio中調試exe代碼
- 27. 在eclipse源代碼中調試未發現警告
- 28. 代碼分析警告在入住時不會警告TFS 2010
- 29. 跨越源代碼行導致Visual Studio調試器退出?
- 30. 在Visual Studio 2010 Ultimate中創建編碼UI測試時出錯
您是否使用AOP框架?即PostSharp? – MattDavey
winform框架,但它再次被包裝在我們自己的formframework中 –
清理代碼但仍存在問題構建模塊時源文件不同。模塊是dll文件。它問你是否希望調試器使用它?是或否? –