有時候,咱們使用 VS(Visual Studio)編譯程序時會出現「沒法查找或打開PDB文件」的提示,而且此時程序會生成失敗,沒法運行,以下圖所示:緩存
你們不要驚慌,出現這種提示並非代碼寫錯了,而是編譯器設置的問題,改一下設置就 OK 了。安全
先說一下PDB文件是什麼
當程序在 VS 上編譯時,程序所依賴的全部動態連接庫(dll 文件)也會被編譯,編譯過程當中每一個 dll 都會產生一個pdb文件,又稱爲「符號文件」,是一個存儲數據的信息文件,其包含 dll 庫在編譯過程的某些調試信息,例如程序中所用到的全局變量、局部變量、函數名以及他們的入口地址等。
pdb 文件主要用於調試程序,多用於當VS中有多個項目,且項目之間互有依賴關係時,使用pdb文件調試程序,每每會事半功倍,初學者通常不會用到。
當使用VS 調試程序時,會默認加載你的程序以及程序依賴的dll庫產生的全部pdb文件,可是結果每每是VS本身找不到依賴庫的pdb文件,因而就提示給你「沒法查找或打開pdb文件」。服務器
如何修復這個錯誤
咱們能夠經過對 VS 作適當的設置,使之可以查找到相應的 PDB 文件,具體步驟以下(這裏咱們以 VS2017 爲例進行說明,其它版本的 VS 操做步驟也同樣)。
1) 選擇菜單欄中的「調試 --> 選項」,以下圖所示:函數
2) 彈出「選項」對話框後,選擇「調試 --> 常規」,在右側選項欄中勾選「啓用源服務器支持」(包含的 3 個子選項不用勾選),此時會彈出一個安全警報框,選擇「是」便可,以下圖所示:spa
3) 仍是在「選項」對話框中,選擇「調試 --> 符號」,在右側選項欄中勾選「Microsoft符號服務器」,此時會彈出一個提示對話框,點擊「肯定」便可。同時,對於緩存符號的目錄,選擇圖示中的目錄便可:調試
4) 肯定以後,從新運行你的程序,首次運行時,因爲編譯器會加載全部動態連接庫的pdb文件,可能會等到幾秒鐘。程序運行後,以前輸出窗口中的「沒法查找或打開pdb文件」的提示不見了,以下圖所示:blog
如上圖所示,因爲pdb文件,又名「符號文件」,因此「已加載符號」,也就是成功加載了動態連接庫對應的pdb文件。編譯器