问题:
开发人员希望在每次构建开始时创建新的程序数据库文件 (PDB)。
对于什么场景:
C++热插拔,即时调试,主程序执行代码的DLL代码插件。
最佳答案
解决方案:
- 打开您的代码项目。
- 打开项目属性。
- 在左 Pane 中,展开配置属性节点。
- 展开链接器节点。
- 单击调试节点。
- 在右 Pane 中,找到生成程序数据库文件条目。
将值替换为以下内容:
$(OutDir)$(目标名称)-$([System.DateTime]::Now.ToString("HH_mm_ss_fff")).pdb
点击应用,然后点击确定。
启动 C++ 热交换(即时调试)模式:
- 将两个项目添加到 Visual Studio 2013 中的新解决方案。
- 使其中一个项目在构建时生成一个 DLL。
- 创建您的程序。
- 对于 DLL,编写一个在程序运行时不断被调用的函数。将函数导出到 DLL。
- 设置 DLL 项目为每次构建生成新的 PDB 文件。
- 编译和构建所有项目。
- 在不调试的情况下启动您的程序 (CTRL+F5)。
- 更新导出的 DLL 函数。
- 构建一次 DLL 项目。 (CTRL+SHIFT+B)。
- 您的程序应在第二次构建后立即更新函数的执行。
HTML5 version of the GIF here.
注意:
您可以将以下值添加到项目属性中,以摆脱过多的 PDB 文件。这可以添加到 Build Events 节点中的 Pre-Build Event 条目。
del "$(OutDir)*.pdb"
关于c++ - 如何在 Visual Studio 2013 中每次构建时生成新的 PDB 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28016220/