你如何在Visual Studio中生成一个随机输出名称的PDB文件?

时间:2016-04-03 15:05:49

标签: c++ visual-studio-2013 dll pdb

我希望能够在运行时动态加载和卸载DLL项目。为此,我必须确保每次在Visual Studio中重建项目时,生成的.pbd文件都有一个伪随机生成的名称(随机文件路径有效字符串).pbd。

这是因为调试器强制我在重建之前中止调试。

我首先尝试创建一个运行.bat文件的自定义预构建工具,该文件创建了一个像这样的系统环境变量:

set TIMESTAMP=%DATE:/=-%@%TIME::=-%
set TIMESTAMP=%TIMESTAMP: =%
setx buildrandomvar %TIMESTAMP%

这很好,我检查了注册表。但无论我做了什么,我都无法将“buildrandomvar”作为.pdb文件名的一部分。结果只是一个空的“.pbd”。

我的程序数据库文件名设置为:$(OutDir)$(TargetName)$(buildrandomvar).pdb

我真的很感激这个问题的任何帮助,因为我无法让这个工作。

1 个答案:

答案 0 :(得分:5)

我找到了答案,我会把它放在这里以防万一有人需要它。

在Visual Studio中,右键单击您的项目,转到属性 - >链接器 - >调试 - >生成程序数据库文件并输入

"$(OutDir)$(TargetName)-$([System.DateTime]::Now.ToString("HH_mm_ss_fff")).pdb"

这应该在文件名中生成带有时间戳的pdb,这在技术上是伪随机的。