pdb文件,检查磁盘空间不足,路径无效或权限不足

时间:2014-05-08 19:56:39

标签: c++ visual-studio-2010 debugging msbuild

我突然得到这个错误,我不知道为什么。我每次更改代码时都必须重新启动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。

5 个答案:

答案 0 :(得分:6)

罪魁祸首是我为检测内存泄漏而安装的删除程序,它看起来像是在阻止调试器/ pdb文件。卸载后我的问题得到解决。

答案 1 :(得分:2)

当我关闭用来检查线程内存使用量的ProcessExplorer(sysinternal工具procexp64.exe)时,它对我有用。搜索该文件,然后将其关闭。

enter image description here

[更新]:您也可以像使用“ Sysinternal的进程资源管理器”一样有效地使用Windows“任务管理器”来定位任何僵尸手柄。 任务管理器性能打开资源监视器| CPU |关联句柄|搜索-> enter image description here

答案 2 :(得分:1)

我遇到了类似的问题,我的理由是windbg正在保存所有的pdb文件,所以当visual studio试图创建新的新pdb文件时,它无法覆盖旧文件,因为windbg正在使用这些文件。

所以显而易见的问题是,当Visual Studio无法使用新的输出文件覆盖现有文件时,它会输出以下错误。

答案 3 :(得分:1)

当我在两个Visual Studio版本中使用单个pdb文件时,我遇到了类似的问题。关闭一个视觉工作室版本解决了这个问题。

答案 4 :(得分:0)

您的防病毒软件阻止了写访问。请取消阻止文件夹保护