"無法找到“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)
//
網友採納
簡單 沒有生成程式資料庫。 在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” 這樣就行了!