从“.exe”中删除调试信息

时间:2017-01-15 12:09:48

标签: c# exe

如果我将C#程序exe放在文本编辑器中,我可以在其中找到调试信息:

enter image description here

如何删除?

编辑:我不关心pdb文件,我只关心可执行文件中有pdb文件的路径。这个路径包含我的名字(在这个例子中巧合),我的问题是如何从可执行文件中删除那个路径,而不是如何删除pdb文件本身。

1 个答案:

答案 0 :(得分:7)

好的,所以你的实际上是一个奇怪的问题,因为你所要求的并不是你通常会关心的。 PDB文件不是“个人信息” <。> 路径在.exe中找到的指向.PDB文件< / strong>即可。你的榜样纯属巧合。继续......

基于最佳实践的最简单修复

请勿将Visual Studio代码保留在Windows用户配置文件文档文件夹中。而是将其移至以下

之一
  • c:\ development 或更好的是,如果可以的话,非操作系统驱动器上的文件夹
  • 当您准备发货时,请确保在CI服务器上构建代码。在这个时代,没有理由不以你应该使用源代码控制的方式使用CI服务器

这将修复出现在你的exe中的巧合用户名。除非您在用户上下文中运行构建代理,而不是专用的构建帐户。

此外,我希望保留文档,以及良好的文档,而不是被代码污染; Git或SVN缓存。它只会为 CrashPlan 等实时备份应用程序产生噪音。

替代

只需构建,无需调试信息

考虑这个默认的调试版本,请注意相关PDB文件的路径:

enter image description here

没有调试设置的发布

enter image description here

设置

enter image description here

您的调试版本可以通过 PDB 文件的路径来判断,该文件包含有关应用程序的调试信息。通常,您不会部署应用程序的调试版本。

制作应用程序的发布版本。默认情况下,发布版本不会生成.pdb文件。

此外,.pdb文件不会向狂热的读者提供“源代码”,如果这是你的恐惧。它最多可以列出文件的路径,但文件路径不构成源代码内容。

另见: