从“.exe”中删除调试信息
Remove debug information from an ".exe"
如果我将我的 C# 程序 exe 放在文本编辑器中,我可以在其中找到调试信息:
我怎样才能删除它?
编辑:我不关心 pdb 文件,我只关心可执行文件中有 pdb 文件的路径。此路径包含我的名字(在本例中是巧合),我的问题是如何从可执行文件中删除该路径,而不是如何删除 pdb 文件本身。
好的,所以你的问题实际上是一个奇怪的问题,因为你所要求的实际上不是你通常会关心的。 PDB 文件不是 "personal information" 并且 也不是找到的 路径 在指向.PDB 文件 的.exe 中。你的例子纯属巧合。继续...
基于最佳实践的最简单修复
不要将 Visual Studio 代码保存在 Windows 用户配置文件 Documents 文件夹中。而是将其移动到以下之一
- c:\development 或更好,non-OS 驱动器上的文件夹,如果可以
- 准备好发布时,请确保在 CI 服务器上构建代码。在这个时代,没有理由不像使用源代码管理一样使用 CI 服务器
这将修复您的 exe 中偶然出现的用户名。当然,除非您是 运行 您在用户上下文中的构建代理而不是专用构建帐户。
此外,我喜欢保留 Documents,因为文档很好,不会被代码污染; Git 或 SVN 缓存。它只会为 real-time back-up 应用程序制造噪音,例如 CrashPlan.
备选
只需构建 ,无需调试信息。
考虑这个默认调试版本,记下相关 PDB 文件的路径:
没有调试设置的版本
设置
你的是一个 debug 构建,你可以通过 PDB 文件的路径来判断,该文件包含有关应用程序的调试信息.通常您不会部署应用程序的调试版本。
制作一个 release 构建您的应用程序。默认情况下,发布版本不会生成 .pdb 文件。
另外,如果您担心的话,.pdb 文件不会泄露 "source code" 给狂热的读者。顶多是一个文件的路径,但文件路径不构成源代码内容。
另请参阅:
- 您可能想检查一下 why its a good idea to always deploy PDB files
如果我将我的 C# 程序 exe 放在文本编辑器中,我可以在其中找到调试信息:
我怎样才能删除它?
编辑:我不关心 pdb 文件,我只关心可执行文件中有 pdb 文件的路径。此路径包含我的名字(在本例中是巧合),我的问题是如何从可执行文件中删除该路径,而不是如何删除 pdb 文件本身。
好的,所以你的问题实际上是一个奇怪的问题,因为你所要求的实际上不是你通常会关心的。 PDB 文件不是 "personal information" 并且 也不是找到的 路径 在指向.PDB 文件 的.exe 中。你的例子纯属巧合。继续...
基于最佳实践的最简单修复
不要将 Visual Studio 代码保存在 Windows 用户配置文件 Documents 文件夹中。而是将其移动到以下之一
- c:\development 或更好,non-OS 驱动器上的文件夹,如果可以
- 准备好发布时,请确保在 CI 服务器上构建代码。在这个时代,没有理由不像使用源代码管理一样使用 CI 服务器
这将修复您的 exe 中偶然出现的用户名。当然,除非您是 运行 您在用户上下文中的构建代理而不是专用构建帐户。
此外,我喜欢保留 Documents,因为文档很好,不会被代码污染; Git 或 SVN 缓存。它只会为 real-time back-up 应用程序制造噪音,例如 CrashPlan.
备选
只需构建 ,无需调试信息。
考虑这个默认调试版本,记下相关 PDB 文件的路径:
没有调试设置的版本
设置
你的是一个 debug 构建,你可以通过 PDB 文件的路径来判断,该文件包含有关应用程序的调试信息.通常您不会部署应用程序的调试版本。
制作一个 release 构建您的应用程序。默认情况下,发布版本不会生成 .pdb 文件。
另外,如果您担心的话,.pdb 文件不会泄露 "source code" 给狂热的读者。顶多是一个文件的路径,但文件路径不构成源代码内容。
另请参阅:
- 您可能想检查一下 why its a good idea to always deploy PDB files