编译失败随机:“无法打开程序数据库” [英] Compilation fails randomly: "cannot open program database"

查看:1041
本文介绍了编译失败随机:“无法打开程序数据库”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在使用Visual Studio 2005(版本8.0.50727.762)进行长时间编译期间,我有时在某些项目的几个文件中出现以下错误:

During a long compilation with Visual Studio 2005 (version 8.0.50727.762), I sometimes get the following error in several files in some project:

fatal error C1033: cannot open program database 'v:\temp\apprtctest\win32\release\vc80.pdb'

(提到的文件是 vc80.pdb vc80.idb 在项目的临时目录中。)

(The file mentioned is either vc80.pdb or vc80.idb in the project's temp dir.)

同一项目的下一个构建成功。没有其他Visual Studio可以访问相同的文件。

The next build of the same project succeeds. There is no other Visual Studio open that might access the same files.

这是一个严重的问题,因为它使夜间编译不可能。

This is a serious problem because it makes nightly compilation impossible.

推荐答案

防病毒软件或类似程序可能在写入时触摸pdb文件 - 防病毒软件是这种情况下最可能的嫌疑。恐怕我只能给你一些一般的指针,根据我以前的经验设置夜间建设在我们的商店。

It is possible that an antivirus or a similar program is touching the pdb file on write - an antivirus is the most likely suspect in this scenario. I'm afraid that I can only give you some general pointers, based on my past experience in setting nightly builds in our shop. Some of these may sound trivial, but I'm including them for the sake of completion.


  • 首先,确保你开始了与干净的板岩。

  • 如果您的夜间计算机上有防病毒软件,反间谍软件或其他类似程序,请考虑删除它们。如果这不是一个选项,请将obj文件夹添加到程序的排除列表中。

  • (可选)考虑使用VCBuild或MSBuild等工具作为每日的一部分。我认为如果你在多核机器上使用MSBuild更好。我们使用IncrediBuild的nightlies和MSBuild的版本,并从未遇到你描述的问题。

如果没有其他工作,看门狗脚本在构建启动几个小时后检查其状态;如果构建失败,看门狗应该重新启动它。这是一个丑陋的黑客,但它比没有更好。

If nothing else works, you can schedule a watchdog script a few hours after the build starts and check its status; if the build fails, the watchdog should restart it. This is an ugly hack, but it's better than nothing.

这篇关于编译失败随机:“无法打开程序数据库”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆