使用Visual Studio编译工程时,默认设置下,即使选择了「Release」时也会生成扩展名为「.vshost.exe」和「.pdb」的文件。感觉比较烦, 就查阅资料了解了下:
一、先解释一下各个文件的作用:
.pdb文件:
程序数据库文件(Program Database File)。默认设置下,Debug的pdb是full,保存着调试和项目状态信息、有断言、堆栈检查等代码,可以对程序的调试配置进行增量链接。
而Release的默认设置对PDB指定为pdb-only,保存着程序出了什么错误,以及错误在哪行。
.vshost.exe文件:
宿主进程文件(VS host process),主要是为了提高调试性能。 release时最好删除。
.vshost.exe.manifest 文件:
是一个以.manifest为后缀的XML文件,用于组织和描述隔离应用程序及并行组件,用于COM类、接口及库的绑定和激活,而这些信息,以往都是存储在注册表中的。
Manifests也制定了组成程序集的文件及Windows类,release 时也最好删除。
二、不生成这些文件的方法:
不生成.vshost.exe文件的方法
如图,打开工程属性的“调试”标签页,选为「Release」,去掉「启用Visual Studio 承载进程有效」的勾选后保存。
不生成.pdb文件的方法
如图,打开工程属性的“生成”标签页,选为「Release」后打开「高级」。将 「输出」中的「调试信息」从「pdb only」变为「none」后保存。