如何在Visual Studio 2013中每次构建时生成新的PDB文件?

tom*_*101 2 c++ visual-studio visual-c++ project-properties visual-studio-2013

问题:

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

在什么情况下:

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

tom*_*101 5

解:

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

    $(OUTDIR)$(的TargetName) - $([System.DateTime的] :: Now.ToString( "HH_mm_ss_fff"))PDB

  8. 单击Apply,然后单击Ok.

要启动C++ hotswapping(动态调试)模式:

  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. 然后,您的程序应该在第二次构建后立即更新函数的执行.

演示C++ hotswapping. 这里有GIF的HTML5版本.

注意:

  • 您可以将以下值添加到项目属性,以消除过多的PDB文件.这可以添加到" 构建事件"节点中的" 预构建事件"条目中.

    del"$(OutDir)*.pdb"