[英]breakpoints in code behind not hit
我猜是常見問題,但到目前為止還沒有解決方案:
我的斷點(asp.net 2.0)在“后端”程序集中得到很好的命中,但在后面的代碼中卻沒有。
我什至可以看到 <% Response.CacheControl="no-cache"; %> 行在我的 asp.net 主文件中被擊中,但仍然不是后面的代碼。
我使用的是 VS 2005,Windows 7 32 位。 知道我還能檢查什么嗎?
如果您的代碼文件比正在運行的編譯版本更新(在 Web 服務器上,無論是 IIS 還是開發服務器),將不會命中斷點(紅色圓圈將是空心的)。
嘗試進行清理/重建,看看是否有效。
編輯:
我剛剛注意到你上一條評論中的一些內容; 你說你要附加到 asp.net 進程。 您要附加到哪個進程? 它應該是 w3wp.exe。
我的問題最終是我為該項目創建了一個新配置,但沒有為其設置項目中的任何調試屬性。 所以這就是我必須做的:
我猜加載頁面的符號有問題,因此斷點沒有命中,
嘗試這個
1 - 在 Visual Studio 中調試時,單擊調試 > Windows > 模塊。 IDE 將停靠一個模塊窗口,顯示已為您的項目加載的所有模塊。
2 - 查找項目的 DLL,並檢查它的符號狀態。
3 - 如果它說符號加載,那么你是金色的。 如果它顯示類似無法找到或打開 PDB 文件的內容,請右鍵單擊您的模塊,選擇加載符號,然后瀏覽到 PDB 的路徑。
4 - 我發現有時需要
停止調試器
關閉 IDE
關閉托管應用程序
核對 obj 和 bin 文件夾
重新啟動IDE
重建項目
再次通過模塊窗口
瀏覽到 PDB 文件的位置后,符號狀態應更改為已加載符號,現在您應該能夠在代碼行中設置和捕獲斷點。
希望能幫助到你 !
啊。 在我的例子中,我在 IIS 中映射了正確的文件夾,但應用程序是在 IIS Express 上設置的。
因此,當我訪問 URL 時加載了正確的程序集,但該應用程序附加到從未獲得任何點擊的 IIS Express 版本。
就我而言,我從 Git 更新了我的存儲庫,並且項目從本地 IIS 更改為 IIS Express(項目 > 屬性 > Web 選項卡)。 這以某種方式弄亂了我的配置,我無法調試。
通過將其設置為“啟動項目”來解決我的問題
解決方案資源管理器 -> 右鍵單擊項目 -> 設置為啟動項目
或者
菜單欄 -> PROJECT 或 WEBSITE -> 設置為啟動項目
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.