VS2008調試技巧——斷點失效


在調試的時候,往往發現某一行代碼寫錯了,想修改后,繼續調試。但是有時修改代碼后會出現這樣彈出框"此源文件已更改,不再與以下版本文件匹配,該版本文件用於生成所調試的應用程序"。如果點確定代碼調試還需要重新開始。這樣極大的影響了調試的效果和效率。如下圖的彈出框。

碰到這樣的情況,需要修改Visual Studio的設置。

菜單 "調試/選項和設置"中彈出如下框。去掉"調試/常規/要求源文件與原始版本完全匹配"的鈎鈎。

原因:

一、斷點失效的問題描述。
工具欄將生成模式設置為Debug,在某行代碼(證實為有效)上添加了斷點,開始調試。程序一起動,斷點就失效了。具體表現:標識斷點行首的實心圓點轉變為空心圓圈。

二、原因分析與解決方案。

1.如果項目中的兩個或更多的源文件具有同一名稱,調試器在確定斷點設置在哪個文件時可能會有問題。當創建的模塊與鏈接到的“調試”庫的某一組件具有相同名稱時,經常會發生這種情況。

解決方法:若要解決此問題,請輸入源文件的完整路徑名。您可以在“文件斷點”對話框中更改文件路徑名。 

2.在其他情況下,盡管對應於斷點的源文件存在,但是調試器可能無法找到該源文件。如果源文件已更改並且源代碼與調試的代碼不再匹配,則將出現此情況。如果希望 Visual Studio 顯示與調試的版本不匹配的源代碼,請清除在“選項”對話框中的“調試”類別下的“常規”節點中的“僅使用與原始版本完全匹配的源代碼”選項。還可以通過選中“文件斷點”對話框中的“允許源代碼與原始版本不同”來綁定斷點。也就是說,如果在之前的Debug模式運行過程中,修改了代碼,將會導致運行的代碼文件和原始文件版本不一致,在這種情況下,也有可能出現上述情形。

解決方法:通過菜單命令{工具}-->{選項}-->{調試}-->選中{要求源文件與原始版本完全匹配}。

 

3.運行模式與生成模式不一致。尤其是當生成模式被設置為Release,而以Debug模式運行時,將會出現該問題。並且由於Debug模式運行所依據的可執行文件,並沒有因為本次生成操作而更新,也就是沒有反應編程者最新的修改的影響,常常會使得程序表現異常,感覺“代碼修改后不起作用”。

解決方法:檢查工具欄內的運行模式,和生成菜單中的“生成配置”以及“批生成”中的設置是否協調。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM