1. 程式人生 > >"無法找到“XXX.exe”的除錯資訊,或者除錯資訊不匹配

"無法找到“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)

//

VC應用的問題

網友採納
簡單
沒有生成程式資料庫。

在DEBUG陌生下,預設是生成除錯資料庫的,也就是可以除錯。
RELEASE陌生下,也能除錯,不過要做如下設定(如果DEBUG版不能除錯,也參照如下設定)
解決方案資源管理器中選擇工程,右鍵-》屬性;彈出對話方塊
C/C++頁面:常規:除錯資訊格式,release 下選“程式資料庫/Zi”debug下或選“用於“編輯並繼續”的程式資料庫(/ZI)”
C/C++頁面:優化:優化,release陌生下修改為“禁用”
連結器頁面:除錯:生成除錯資訊,選“是”;生成除錯資料庫檔案,在編輯框裡面點選一下,它會設定預設的PDB檔名“$(OutDir)/$(ProjectName).pdb”

這樣就行了!

2007-10-10 16:11 提問者懸賞:50分 | nianpeng88 | 分類:VC++ | 瀏覽1567次
我在程式中設定了一個斷點,想在那停下來,看看變數的臨時值是多少,可是為什麼,設定斷點後,按F5除錯執行,出現一個對話方塊說,不包含除錯資訊,點確認繼續,然後就出現彙編的東西了。請問怎麼解決。我是新手
怎麼設定成Debug呢?新手不懂再具體點

網友採納
簡單
沒有生成程式資料庫。

在DEBUG陌生下,預設是生成除錯資料庫的,也就是可以除錯。
RELEASE陌生下,也能除錯,不過要做如下設定(如果DEBUG版不能除錯,也參照如下設定)
解決方案資源管理器中選擇工程,右鍵-》屬性;彈出對話方塊
C/C++頁面:常規:除錯資訊格式,release 下選“程式資料庫/Zi”debug下或選“用於“編輯並繼續”的程式資料庫(/ZI)”
C/C++頁面:優化:優化,release陌生下修改為“禁用”
連結器頁面:除錯:生成除錯資訊,選“是”;生成除錯資料庫檔案,在編輯框裡面點選一下,它會設定預設的PDB檔名“$(OutDir)/$(ProjectName).pdb”

這樣就行了!