1. 程式人生 > >vs中無法加入斷點進行除錯的解決方案

vs中無法加入斷點進行除錯的解決方案

vs中無法加入斷點進行除錯的解決方案

【 1】
以前也遇到過同樣的問題,但沒有問個為什麼,也沒有探個畢竟。昨天除錯一個DLL,新增輸出資訊吧,太麻煩而且不輕易定位,
但設定斷點後按“F5”,斷點不可用,氣泡提示“當前不會命中斷點,還沒有為該文件載入任何符號。
”再右鍵->“位置”->“答應原始碼與原始版本不同”,還是不行。77777我還不信了,整它!
後來才發現,“Alt+F7”->“配置屬性”->“除錯”->“命令”中輸入的 exe 路徑下,已經提供了此 DLL,
壓根就沒有呼叫咱 F5 啟動的DLL。。。。。。把 exe (以及相關的其它檔案,假如有)拷貝到 DLL 目錄下,就可以除錯了。

犯了個低階錯誤。但也總結了一下不能除錯的各種可能原因:
1.解決方案配置是 Debug ,但沒有在工程屬性頁中“Alt+F7”->“配置屬性”->“C/C++”->“常規”->“除錯資訊格式”,
選擇“用於“編輯並繼承”的程式資料庫(/ZI)”。另外,在“配置屬性”->“連結器”->“除錯”->“生成除錯資訊”中,選擇“是”。

【 2 】
vs2005奇怪的斷點無效問題
最近一工程中,在除錯的時候,有些cpp檔案都可以設定斷點並且跟進去,但是有一個cpp檔案總是不能設定斷點,
提示“當前不會命中斷點。原始碼與原始版本不同。” 重新更換過n次檔案都不起作用,然後在goole搜尋此類類似問題,
找到下篇文章,

然後我把那個cpp檔案用記事本開啟,另存為unicode格式,再重新編譯,最後問題解決!

也可以更改vs2005的設定,選項->常規,將要求原始檔與原始版本完全匹配的勾取消就可以了!
清理整個解決方案,重新編譯,無效。刪除整個目錄,從SubVersion伺服器上Down下來重新來過,一樣無效。上網搜尋,未果。

【3】

經常被vs2005的一些選項設定搞慘,這玩意兒太莫名其妙了.

就像上次的那個warning一樣,解決辦法居然是使用/n替換/n.

VS2005斷點失效(斷點不可用)解決方案在網上搜羅了一下,如下:

1、無效斷點所在的專案和啟動專案的設定:專案->屬性->配置屬性->C/C++->常規->除錯資訊格式,這裡不能為『禁用』;

2、專案->屬性->配置屬性->連結器->除錯->生成除錯資訊,這裡設為『是』;

3、C/C++->優化->優化選擇『禁用』;

4、刪除解決方案下的.ncb檔案;

5、工具->選項->除錯->『要求原始檔與原始版本完成匹配』去掉勾;

6、最後在上述設定的情況下,重新編譯整個解決方案;

不過我的情況是debug模式下,1,2,3,4,6都試過了斷點還是不可用,最後試試5居然就行了.真噁心!

7.如果斷點仍然無效,那麼請格式化程式碼.很可能是程式碼含有不可見字元或程式碼單行過長等原因造成.

【轉載自:http://blog.chinaunix.net/uid-15464162-id-3799069.html