我突然得到这个错误,我不知道为什么。我每次更改代码时都必须重新启动VS2010,因为它显然会锁定pdb文件。
1>LINK : fatal error LNK1201: error writing to program database 'C:\code\MyProject\Debug\MyProject.pdb'; check for insufficient disk space, invalid path, or insufficient privilege
即使我clean
项目,它也不会删除此文件。我尝试了Toni提出的here解决方案,但它对我也没有用。当像他建议的那样添加预构建路径时,我收到以下错误:
1> C:\ Program Files (86)\的MSBuild \ Microsoft.Cpp \ V4.0 \ Microsoft.CppCommon.targets(103,5): 错误MSB3073:命令“C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ freepdb MyProject 1> C:\ Program Files (86)\的MSBuild \ Microsoft.Cpp \ V4.0 \ Microsoft.CppCommon.targets(103,5): 错误MSB3073 :: VCEnd“退出代码9009。
答案 0 :(得分:6)
罪魁祸首是我为检测内存泄漏而安装的删除程序,它看起来像是在阻止调试器/ pdb文件。卸载后我的问题得到解决。
答案 1 :(得分:2)
当我关闭用来检查线程内存使用量的ProcessExplorer(sysinternal工具procexp64.exe)时,它对我有用。搜索该文件,然后将其关闭。
[更新]:您也可以像使用“ Sysinternal的进程资源管理器”一样有效地使用Windows“任务管理器”来定位任何僵尸手柄。 任务管理器性能打开资源监视器| CPU |关联句柄|搜索->
答案 2 :(得分:1)
我遇到了类似的问题,我的理由是windbg正在保存所有的pdb文件,所以当visual studio试图创建新的新pdb文件时,它无法覆盖旧文件,因为windbg正在使用这些文件。
所以显而易见的问题是,当Visual Studio无法使用新的输出文件覆盖现有文件时,它会输出以下错误。
答案 3 :(得分:1)
当我在两个Visual Studio版本中使用单个pdb文件时,我遇到了类似的问题。关闭一个视觉工作室版本解决了这个问题。
答案 4 :(得分:0)
您的防病毒软件阻止了写访问。请取消阻止文件夹保护