您如何在 Visual Studio 2013 年的每个版本中生成新的 PDB 文件?

How do you generate new PDB files every build in Visual Studio 2013?

问题:

开发人员希望在每次构建开始时创建新的程序数据库文件 (PDB)。

什么场景:

C++热插拔,即时调试,主程序执行代码的DLL代码插件

解法:

  1. 打开您的代码项目。
  2. 打开项目属性
  3. 在左窗格中,展开 配置属性 节点。
  4. 展开链接器节点。
  5. 单击调试节点。
  6. 在右窗格中,找到 生成程序数据库文件 条目。
  7. 将值替换为:

    $(OutDir)$(目标名称)-$([System.DateTime]::Now.ToString("HH_mm_ss_fff")).pdb

  8. 点击应用然后确定

要启动 C++ 热交换(即时调试)模式:

  1. 在 Visual Studio 2013 年将两个项目添加到新解决方案中。
  2. 使其中一个项目在构建时生成一个DLL。
  3. 创建您的程序。
  4. 对于 DLL,编写一个在程序运行时不断被调用的函数 运行。将函数导出到 DLL。
  5. 设置 DLL 项目为每次构建生成新的 PDB 文件。
  6. 编译并构建所有项目。
  7. 在不调试的情况下启动程序 (CTRL+F5)。
  8. 更新导出的 DLL 函数。
  9. 构建一次DLL项目。 (CTRL+SHIFT+B).
  10. 您的程序应在第二次构建后立即更新函数的执行。

HTML5 version of the GIF here.

注:

  • 您可以将以下值添加到项目属性中,以摆脱过多的 PDB 文件。这可以添加到 Pre-Build 事件 Build Events 节点中的条目。

    del "$(OutDir)*.pdb"