2011-10-13 113 views
14

我正在嘗試對一個開源項目npp-community進行一些補充,但似乎無法調試。我試圖調試的代碼被編譯成一個dll,然後鏈接到主項目。設置斷點時,出現以下錯誤:PDB與映像不匹配錯誤

斷點當前不會被命中。沒有符號被載入這個文件。

當我檢查debug>windows>modules下的模塊時,我檢查符號加載信息並得到以下錯誤。

PDB不符圖像

我試圖退出Visual Studio和重新啓動/重新編譯,但似乎沒有任何修復。谷歌似乎給出了圍繞在一起的線索,並沒有明確的答案。

回答

3

這裏的問題在於調試器無法爲您的模塊找到有效的PDB文件。使用兩個參數將PDB文件與二進制映像進行匹配:標識符(GUID)和年齡。在this article中有關於此過程的更多信息。

確保您的模塊具有有效的PDB文件,並且它們與模塊位於相同的目錄或調試器的搜索路徑(Debug-> Options and settings ...-> Symbols)。

9

我有我的VS2010項目類似的問題,轉出的問題是由於項目屬性 mistmatch - >C/C++ - >輸出文件 - >'程序數據庫文件名'項目屬性 - >鏈接 - >調試 - >'生成程序數據庫文件'

通過將'程序數據庫文件名'修改爲「從父項或項目默認繼承」來修復它。

+0

這有幫助,謝謝。在我的情況下,我不得不將它設置爲_my_pyd_name_d.pdb。 – Calvin1602

+0

哦,重新啓動Visual也有很大幫助。 – Calvin1602

+0

男孩很煩人,相同的設置在兩個地方 - 他們必須手動保持同步。如果它們不同步,則沒有警告。更糟的是,你的PDB不會加載莫名其妙。 –

1

有時會發生這種情況,因爲您可能將項目構建爲發佈版本。

右鍵單擊該解決方案,然後點擊「批量生成」>檢查所有項目,並單擊「清除」

0

我有這個而關於在WinCE5.0智能設備項目。解決的辦法是冷啓動我正在調試的設備+清理VS2008中的解決方案