c++ 如何在Visual Studio中生成具有随机输出名称的PDB文件?

vxqlmq5t  于 2023-03-25  发布在  其他
关注(0)|答案(1)|浏览(194)

我希望能够在运行时动态地加载和卸载DLL项目。为此,我必须确保每次在Visual Studio中重建项目时,生成的.pbd文件都具有伪随机生成的名称(随机文件路径有效字符串). pbd。
这是因为调试器强制我在重新生成之前中止调试。
我首先尝试创建一个自定义的预构建工具,该工具运行一个.bat文件,该文件创建了一个系统环境变量,如下所示:

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

这很好,我检查了注册表。但是无论我做什么,我都不能引用“buildrandomvar”作为.pdb文件名的一部分。结果只是一个空的“.pbd”。
“我的程序数据库文件名”设置为:$(OutDir)$(TargetName)$(buildrandomvar).pdb
我真的很感激任何帮助在这个问题上,因为我只是不能得到这个工作。

odopli94

odopli941#

我找到答案了,我就把它放在这里,以防有人需要。
在Visual Studio中,右键单击项目,转到“属性”-〉“链接器”-〉“调试”-〉“生成程序数据库文件”,然后输入

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

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

相关问题