VC2013中無法查找或打開 PDB 文件

有時(shí)候,我們使用 VS(Visual Studio)編譯程序時(shí)會(huì)出現(xiàn)“無法查找或打開PDB文件”的提示,并且此時(shí)程序會(huì)生成失敗,無法運(yùn)行,如下圖所示:

大家不要驚慌,出現(xiàn)這種提示并不是代碼寫錯(cuò)了,而是編譯器設(shè)置的問題,改一下設(shè)置就 OK 了。

先說一下PDB文件是什么

當(dāng)程序在 VS 上編譯時(shí),程序所依賴的所有動(dòng)態(tài)鏈接庫(dll 文件)也會(huì)被編譯,編譯過程中每個(gè) dll 都會(huì)產(chǎn)生一個(gè)pdb文件,又稱為“符號(hào)文件”,是一個(gè)存儲(chǔ)數(shù)據(jù)的信息文件,其包含 dll 庫在編譯過程的某些調(diào)試信息,例如程序中所用到的全局變量、局部變量、函數(shù)名以及他們的入口地址等。

pdb 文件主要用于調(diào)試程序,多用于當(dāng)VS中有多個(gè)項(xiàng)目,且項(xiàng)目之間互有依賴關(guān)系時(shí),使用pdb文件調(diào)試程序,往往會(huì)事半功倍,初學(xué)者一般不會(huì)用到。

當(dāng)使用VS 調(diào)試程序時(shí),會(huì)默認(rèn)加載你的程序以及程序依賴的dll庫產(chǎn)生的所有pdb文件,但是結(jié)果往往是VS自己找不到依賴庫的pdb文件,于是就提示給你“無法查找或打開pdb文件”。

如何修復(fù)這個(gè)錯(cuò)誤

我們可以通過對(duì) VS 做適當(dāng)?shù)脑O(shè)置,使之能夠查找到相應(yīng)的 PDB 文件,具體步驟如下(這里我們以 VS2017 為例進(jìn)行說明,其它版本的 VS 操作步驟也一樣)。

1) 選擇菜單欄中的“調(diào)試? --> 選項(xiàng)”,如下圖所示:

2) 彈出“選項(xiàng)”對(duì)話框后,選擇“調(diào)試 --> 常規(guī)”,在右側(cè)選項(xiàng)欄中勾選“啟用源服務(wù)器支持”(包含的 3 個(gè)子選項(xiàng)不用勾選),此時(shí)會(huì)彈出一個(gè)安全警報(bào)框,選擇“是”即可,如下圖所示:

3) 還是在“選項(xiàng)”對(duì)話框中,選擇“調(diào)試 --> 符號(hào)”,在右側(cè)選項(xiàng)欄中勾選“Microsoft符號(hào)服務(wù)器”,此時(shí)會(huì)彈出一個(gè)提示對(duì)話框,點(diǎn)擊“確定”即可。同時(shí),對(duì)于緩存符號(hào)的目錄,選擇圖示中的目錄即可:

4) 確定之后,重新運(yùn)行你的程序,首次運(yùn)行時(shí),由于編譯器會(huì)加載所有動(dòng)態(tài)鏈接庫的pdb文件,可能會(huì)等到幾秒鐘。程序運(yùn)行后,之前輸出窗口中的“無法查找或打開pdb文件”的提示不見了,如下圖所示:

如上圖所示,由于pdb文件,又名“符號(hào)文件”,所以“已加載符號(hào)”,也就是成功加載了動(dòng)態(tài)鏈接庫對(duì)應(yīng)的pdb文件。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容