【问题标题】:Why are visual studio pdb files so much larger than elf debug symbols为什么visual studio pdb文件比elf调试符号大得多
【发布时间】:2014-04-24 00:02:16
【问题描述】:

我正在开发一个使用 Visual Studio 2010 编译的项目。该项目的构建过程不在我的控制范围内,我只能修改源代码,因此可能存在一些我不知道的设置这导致了这种行为。

但是,我注意到我正在处理的项目具有大约 1 兆字节或 2 兆字节的源代码,正在使用 pdb 创建几个 pdb 文件,其中一些大于 100 MB .

我在另一台计算机 (Gentoo Linux) 上有一个从源代码构建的 Linux 系统,它包含所有已安装应用程序的所有调试符号,自动保存在 /usr/lib/debug 中,整个目录只有 600MB。那么,在 Linux 上,2GB 的压缩源代码会产生 600MB 的调试信息,而在 Windows 上,1-2MB 会产生 100MB 的调试信息?

这种巨大的尺寸差异从何而来?

【问题讨论】:

标签: visual-studio-2010


【解决方案1】:

默认情况下,Visual Studio 会指示生成包含尽可能多信息的 PDB 文件,您可以通过项目设置将其配置为生成较小的文件(具体步骤取决于项目类型,对于 C#,您可以在以下位置找到它:

[ProjectProperties] -> build -> Advanced... -> 输出/调试信息。

将其设置为 pdb-only 将生成更小的文件,但在本地调试时提供的帮助更少。

【讨论】:

  • 并没有真正回答为什么与 Linux 上大量的源代码相比,Visual Studio 生成的信息如此之多的问题,但我将您的答案标记为已接受,因为您是唯一的一个谁回复了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-21
  • 1970-01-01
  • 1970-01-01
  • 2012-06-25
  • 2022-10-13
  • 2020-06-10
  • 2021-07-25
相关资源
最近更新 更多