"無法找到“XXX.exe”的調試信息,或者調試信息不匹配。。。轉


今天調試一C++程序,按下F5,老是彈出一對話框顯示信息:debugging information for 'myproject.exe' cannot be found or does not match. No symbols loaded. 翻譯成中文大概就是:不能找到'myproject.exe' 的調試信息或者調試信息不匹配。符號文件未加載。

起初,我以為是沒有生成.pdb文件的緣故,於是,我右擊項目文件,點擊屬性,展開配置屬性節點,展開C/C++節點, 點擊了General后把Debug Information Format設置為:Program Database for Edit & Continue(/ZI). 跟着,又檢查了其它選項,並且確信在項目文件的Debug文件夾下生成了相應的.pdb文件。

可是做了這些,還是沒用。仍然彈出那個該死的對話框。

我於是另外新啟動了一個VS實例,新建了一個簡單的工程,按下F5, 調試沒問題,嘿,這問題到底出在哪兒呢??

然后,我心想,你丫狠!看來我得來點比你更狠的,於是乎,我干脆運行咱的.exe文件,然后單擊Visual Studio 的Tools菜單,選擇Attach to process..., 並找到我的應用程序,還是沒用!!!!我要發瘋了!!!!

關鍵時刻咱得保持冷靜!!!!分析下!

第一,我這個工程是前幾天做過的。

第二,.pdb文件有,手動加載文件也試過。不過沒用。

第三,新建一個項目調試,沒問題。

腦袋里突然冒出:是不是.suo文件在作怪??

------解決方案-----

1. 關閉掉Visual Studio 實例。

2. 找到解決方案下的.suo文件並刪除之。

3. 重新啟動Visual Studio,或者直接雙擊.sln文件打開

4. 成功調試程序!

后來意識到這是Visual Studio非常嚴重的問題。因為.suo貌似非常容易損壞,但是它里面包含了許多調試信息,包括項目的打開文件列表、所有的斷點、以及監視窗口中所有的內容。

可以運行如下命令來刪除掉該文件:del /f /a:h /s *.suo

希望對遇到該類問題的朋友有所幫助!!歡迎提出問題討論!

 

另外 有一些解決方法:

首先打開菜單 項目->項目屬性頁 選擇 配置屬性->鏈接器->調試->生成調試信息 改為 是 選擇 配置屬性->C/C++ ->常規->調試信息格式 改為 用於“編輯並繼續”的程序數據庫(/ZI) 選擇 配置屬性->C/C++ ->優化->優化 改為 禁用(/Od)


免責聲明!

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



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