Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 为什么我的发布目录中有pdb文件?_Visual Studio_Debugging_Pdb Files - Fatal编程技术网

Visual studio 为什么我的发布目录中有pdb文件?

Visual studio 为什么我的发布目录中有pdb文件?,visual-studio,debugging,pdb-files,Visual Studio,Debugging,Pdb Files,当我在Visual Studio 2008中构建项目的版本时,它会创建一个.pdb文件,例如,对于一个简单的WPF项目,它会生成一个.exe和.pdb文件 我一直认为是用于调试的,所以我希望它们位于调试文件夹中,而不是发布文件夹中 看看其他的StackOverflow问题,似乎不是这样 为什么默认情况下会在发布文件夹中生成.pdb文件?如何关闭该选项?这取决于项目设置。碰巧在发行版a中,默认情况下也会生成.pdb。它不会伤害你-只是不要把它运送给客户 要跳过其创建,请转到“项目设置”中的链接器-

当我在Visual Studio 2008中构建项目的版本时,它会创建一个.pdb文件,例如,对于一个简单的WPF项目,它会生成一个.exe和.pdb文件

我一直认为是用于调试的,所以我希望它们位于调试文件夹中,而不是发布文件夹中

看看其他的StackOverflow问题,似乎不是这样


为什么默认情况下会在发布文件夹中生成.pdb文件?如何关闭该选项?

这取决于项目设置。碰巧在发行版a中,默认情况下也会生成.pdb。它不会伤害你-只是不要把它运送给客户


要跳过其创建,请转到“项目设置”中的链接器->调试,并将“生成调试信息”设置为“否”。

您是对的。PDB文件用于调试,但您可能也需要调试发布版本。当您想要调试客户问题并且拥有与该问题相关的崩溃转储文件时,保存已发布版本的PDB非常重要


顺便说一下,生成PDB文件不会损害编译器优化。如果不将其发送给客户,则不会影响性能。

+1生成.pdb文件不会损害编译器优化。我认为这是一个常见的误解,认为它会损害优化。我想不出任何好的理由不为发布版本生成pdb,除非您出于某种原因担心磁盘空间的节约,可以吗?