C++ 如何防止visual studio 2019锁定pdb文件?
我有一个DLL和一个可执行设置,允许代码热重新加载。当DLL发生任何更改时,可执行文件将重新加载DLL。当使用独立的调试器(如windbg)时,它可以正常工作。我希望能够以同样的方式使用VisualStudio调试器 问题是,如果我尝试重建项目,链接器将无法写入pdb文件,因为visual studio已将它们锁定。因此,我得到以下错误:C++ 如何防止visual studio 2019锁定pdb文件?,c++,visual-studio,C++,Visual Studio,我有一个DLL和一个可执行设置,允许代码热重新加载。当DLL发生任何更改时,可执行文件将重新加载DLL。当使用独立的调试器(如windbg)时,它可以正常工作。我希望能够以同样的方式使用VisualStudio调试器 问题是,如果我尝试重建项目,链接器将无法写入pdb文件,因为visual studio已将它们锁定。因此,我得到以下错误: LINK:致命错误LNK1201:写入程序数据库“c:\Users\maxim\source\repos\transforms\x64\Debug\parti
LINK:致命错误LNK1201:写入程序数据库“c:\Users\maxim\source\repos\transforms\x64\Debug\particles.pdb”时出错;检查磁盘空间是否不足、路径是否无效或权限是否不足
如何防止visual studio 2019锁定pdb文件?攻击性反恶意软件的典型行为。所以禁用它,看看这是否解决了问题。我是在使用解决方案X构建的库在VinylStudio(第二个)实例中调试时重建解决方案X时得到这个结果的。这可能是发生在您身上的情况吗?“这是我唯一一次遇到这个问题。”汉帕桑谢谢你的建议。我试过了,但不幸的是PDB仍然锁定。如果反恶意软件正在锁定该文件,那么windbg是否也会锁定该文件?在我看来,这一定是visual studio调试器不必要地锁定了PDB,而windbg没有这样做。就我而言,显而易见的解决方案是关闭并重新启动VS以释放对文件的锁定。我建议您可以尝试将以下代码添加到预构建中:
如果存在“$(TargetPath).锁定的”del“$(TargetPath).锁定的“
如果存在“$(TargetPath)”如果不存在“$(TargetPath).锁定的”移动“$(TargetPath)”,$(TargetPath).锁定的”
我一直觉得好笑的是,MSFT的大多数人给出的答案都毫无用处。这是攻击性反恶意软件的典型行为。所以禁用它,看看这是否解决了问题。我是在使用解决方案X构建的库在VinylStudio(第二个)实例中调试时重建解决方案X时得到这个结果的。这可能是发生在您身上的情况吗?“这是我唯一一次遇到这个问题。”汉帕桑谢谢你的建议。我试过了,但不幸的是PDB仍然锁定。如果反恶意软件正在锁定该文件,那么windbg是否也会锁定该文件?在我看来,这一定是visual studio调试器不必要地锁定了PDB,而windbg没有这样做。就我而言,显而易见的解决方案是关闭并重新启动VS以释放对文件的锁定。我建议您可以尝试将以下代码添加到预构建中:如果存在“$(TargetPath).锁定的”del“$(TargetPath).锁定的“如果存在“$(TargetPath)”如果不存在“$(TargetPath).锁定的”move“$(TargetPath)”,$(TargetPath).锁定的”
我总是觉得MSFT的大多数人给出的答案是多么毫无用处。