2015-09-19 34 views
0

當我在起始頁面的page_load上放置斷點時,會收到以下消息。 「 」斷點不會被擊中,沒有符號被載入這個文件。「 我以前見過這種情況,通常通過清理解決方案並再次運行解決此問題。然而,這一次,我無法找到解決方案。現在更奇怪的是,如果我在Global.asax中放置了一個斷點,比如Application_BeginRequest,那麼斷點確實打了,我可以調試,這發生在我添加斷點的任何頁面上。無法調試網頁代碼,但可以在global.asax中調試代碼

如果我進入菜單\ Debug \ Windows \ Modules,我可以看到Web應用程序DLL沒有內置調試信息。

+0

我也想提一下,我能夠調試其他網絡應用程序,但不是這個。另外,我在其他使用相同網絡應用的計算機上沒有調試問題。 – CodeMilian

回答

0

我的問題竟然與AOP框架PostSharp有關。我卸載它並重新安裝它,現在一切都正常調試。順便說一句,我愛PostSharp,我強烈推薦它。但是,我想發佈我的問題和解決方案,以防有人遇到同樣的問題並且正在使用PostSharp。

3

在調試時,讓斷點正確工作的兩件事情由.dll和.pdb文件組成。如果你看看你的項目的bin文件夾。這兩個文件將放在一起,並且必須具有相同的「修改日期」,這意味着它在構建時一起創建。

如果這兩個文件不是以任何理由一起創建的。一些文件的某些代碼行不會被中斷點擊中。通過導航到調試> Windows>模塊,您也可以在調試時看到。然後找到你想要調試的目標dll,比如YourApp.dll。然後在符號狀態欄中查看。如果它工作正常,我會顯示符號加載。

這可能發生在很多原因中,例如你在代碼中改變了某些東西(這種情況可能是你的aspx文件),那麼你可以在沒有構建的情況下進行調試。

要解決這個問題,您可以轉到工具>選項>項目和解決方案>構建並運行在「運行時,項目過期時」設置爲「始終構建」以確保項目始終在構建之前進行調試。

+0

不錯的建議,但我仍然遇到問題。我注意到沒有.pdb文件從我的項目中生成。 – CodeMilian