在Visual Studio 2010中删除.pdb文件

15

使用Visual Studio 2010编译.sln文件时,将生成一个.pdb文件。如何禁用创建.pdb文件?


我切换到了VS2010,每次编译都会生成一个几MB大小的.pdb文件。我不想每次编译后都删除这个文件。到目前为止,我还没有找到“项目属性”、“生成”、“高级…”选项。即使是发布版本也会创建pdb文件。 - SandyBr
6
我认为@LasseV.Karlsen所说的是,桑迪,通常不需要删除那些文件。这些程序数据库文件包含调试信息,对于调试人员、用户以及当你的应用程序崩溃时的Windows系统都有用。虽然你可能觉得它们难看,但保留这些文件是无害的。因此,答案应该是“停止删除它们”。但我想知道是否有过这些文件存在会造成问题的情况。 - Ian Boyd
@IanBoyd 你是否“遇到过文件存在的问题”?是的,我刚刚遇到了。问题是因为我的Visual Studio应用程序构建到/users/my.name/...,而我不想在.exe文件中包含my.name。当然,我可以构建到另一个目录。这是出现在.exe文件中的内容:“C:\Users\my.name\Documents\Visual Studio 2010\Projects\myproject\x64\Release\myproject.pdb”。我在一家公司工作,不希望我的个人信息出现在发布的软件中。 - jester
1个回答

24

"项目属性"中有一个选项,"生成","高级..."。

将 "调试信息(Debug Info):" 更改为无(None)。

但是,只有当你确定不需要它们时才应这样做。

保留PDB文件可能更好,只需复制所需的文件即可。

在更改设置之前,请阅读此文


1
我遵循了这个建议,但遇到了问题:具体来说,在没有pdb的情况下,VS2010最终开始拒绝正确地在异常上断点,并且希望在声称没有加载符号的同时显示我的类的反汇编代码。当发生异常时,似乎需要pdbs来解决堆栈跟踪,以便它可以自动带您到生成行。 - Superbest
1
请查看问题下的注释 :) - DaveShaw
如果你在提到Ian Boyd的评论,对于一个经验不足的程序员来说,它并不够清晰。当我读到“这对调试器可能有用”时,我认为如果我甚至不知道他在谈论什么,那么它对我没有影响。最终我发现他低估了它的重要性。“对调试器有用”并不等同于“祝你好运,没有它你将无法弄清楚任何异常的原因”。因此我觉得有必要发表评论。 - Superbest
1
@Superbest这不是建议。它只是对你的问题的回答。建议是,即使可用,也不要使用此选项。 - Sam Harwell
亲爱的未来读者:由于@280Z28的投诉,请想象我写了“这些指示”而不是“这个建议”。对此给您带来的不便深感抱歉。(如果您想要严谨一点,我并没有提出问题,我只是发表了评论。) - Superbest

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接