使用Visual Studio編譯工程時,默認設置下,即使選擇了「Release」時也會生成擴展名為「.vshost.exe」和「.pdb」的文件。
一、先解釋一下各個文件的作用:
.pdb文件:
程序數據庫文件(Program Database File)。默認設置下,Debug的PDB是full,保存着調試和項目狀態信息、有斷言、堆棧檢查等代碼,可以對程序的調試配置進行增量鏈接。
而Release的默認設置對PDB指定為pdb-only,保存着程序出了什么錯誤,以及錯誤在哪行。
.vshost.exe文件:
宿主進程文件(VS host process),是Visual Studio 2005中的一項功能,主要是為了提高調試性能。 release時最好刪除。
.vshost.exe.manifest 文件:
是一個以.manifest為后綴的XML文件,用於組織和描述隔離應用程序及並行組件,用於COM類、接口及庫的綁定和激活,而這些信息,以往都是存儲在注冊表中的。
Manifests也制定了組成程序集的文件及Windows類,release 時也最好刪除。
二、不生成這些文件的方法:
不生成.vshost.exe文件的方法
如圖,打開工程屬性的debug標簽頁,將構成選為「Release」,去掉「Visual Studio Hosting Process有效」的勾選后保存。
不生成.pdb文件的方法
如圖,打開工程屬性的build標簽頁,將構成選為「Release」后打開「詳細設定」。將 「輸出」中的「Debug信息」從「pdb only」變為「none」后保存。