Visual studio VisualStudio转储文件和pdb文件

Visual studio VisualStudio转储文件和pdb文件,visual-studio,debugging,Visual Studio,Debugging,visual studio需要版本匹配的pdb文件来调试转储文件。我觉得这很不方便,每次我发布二进制文件时,我需要记住将pdb文件复制到另一个文件夹。如果我忘记了这样做,那么如果应用程序崩溃,我就无法调试转储文件。因为在发布二进制文件和应用程序崩溃期间,我将继续编写代码和构建,pdb文件将刷新 与gcc不同,当生成核心转储时,我可以调试转储文件,而不需要任何东西(appbuild with-debug)。但对于vs,如果没有版本匹配的pdb和源代码,转储文件将毫无意义 有什么好办法可以解决这个问

visual studio需要版本匹配的pdb文件来调试转储文件。我觉得这很不方便,每次我发布二进制文件时,我需要记住将pdb文件复制到另一个文件夹。如果我忘记了这样做,那么如果应用程序崩溃,我就无法调试转储文件。因为在发布二进制文件和应用程序崩溃期间,我将继续编写代码和构建,pdb文件将刷新

与gcc不同,当生成核心转储时,我可以调试转储文件,而不需要任何东西(appbuild with-debug)。但对于vs,如果没有版本匹配的pdb和源代码,转储文件将毫无意义


有什么好办法可以解决这个问题吗?

解决方案是在每次构建之后,将VS调试选项指向symbol服务器。VS或其他调试器(如Windbg)根据需要获取正确的符号。

保留每个版本的PDB文件太大。我的项目的PDB文件大于100MB。MSDN说use/Z7可以让编译器将调试信息写入obj文件,这样行吗?我从来没有使用过这个选项。试试看,告诉我们答案result@jean-(1)将信息从pdb推送到obj将通过您的所有用户进行复制,而不会减少大小;这只会使你的尺寸问题成倍增加。(2) pdb文件具有良好的可压缩性(根据快速测试,可压缩5到7次)。(3) “在野外”有多少版本的软件?这些是在崩溃转储调试中需要保留的唯一pdb。@Vlad Feinstein,但我不知道哪个版本的exe会提前崩溃。我将向其他部门发布几个版本,例如QA。“当链接器生成.dll、可执行文件和PDB文件时,它会在每个文件中存储相同的GUID。工具使用GUID来确定给定的PDB文件是否与dll或可执行文件匹配。”符号服务器和Windbg/VS将为您提供获取正确文件所需的一切