致命错误 LNK1201:写入程序数据库时出错 - Visual Studio 2003

Posted

技术标签:

【中文标题】致命错误 LNK1201:写入程序数据库时出错 - Visual Studio 2003【英文标题】:fatal error LNK1201: error writing to program database - Visual Studio 2003 【发布时间】:2016-02-26 22:24:15 【问题描述】:

我每次在 Visual Studio 2003 中编辑代码并再次构建时都会收到此错误:fatal error LNK1201: error writing to program database

如果我重新启动 VS2003,问题就解决了,但我每次构建项目时都需要这样做。

我一直在谷歌搜索和 ***ing ;) 几个小时,并尝试了以下建议的解决方案:

    将调试信息格式从 Zi 更改为 Z7。 (属性 -> C/C++ -> 常规 -> 调试信息格式)

    这不起作用

    将 Visual Studio 兼容模式更改为 Windows XP SP3

    这不起作用

    在预构建事件中添加以下内容:net stop "Machine Debug Manager" net start "Machine Debug Manager"

    这产生了以下错误:System Error 5 has occurred. Access is denied. 这可能是因为我在这台机器上没有管理员访问权限

    我没有尝试过这个,因为我不允许在我的工作中下载不受信任的代码。运行 Tony76 发布的 FreePDB.cmd here

    更改了符号路径,如下所示:

    这不起作用

我所知道的:

如果 pdb 文件超过 1GB 而我的只有 10MB,则可能会出现此错误。

我的局限:

    我在这台计算机上没有管理员访问权限 无法运行不受信任的软件(工作计算机)

【问题讨论】:

当我的项目/解决方案在网络共享上和/或我没有写入权限时,这种情况发生在我身上(有些频繁)......你试过changing your symbol path ..?跨度> 我没有。我马上试试这个 没用,感谢尝试 攻击性反恶意软件是迄今为止此问题的最常见原因。如果你对此无能为力,那你就完蛋了。将此转交给负责保持公司内部机器运行的任何人。 这就是我害怕的。感谢您的意见。 【参考方案1】:

当我将 VS 项目从旧磁盘移动到新 PC 时,我遇到了同样的问题。删除所有调试文件消除了这个问题,也许 Clean-Build 也可以解决它,但这不是我尝试过的。

【讨论】:

删除错误中提到的.pdb 文件对我有用。【参考方案2】:

我使用一个名为 LockHunter 的程序来解锁 PDB 文件。这有效,但有时如果停止成功解锁(或识别 PDB 文件已锁定)并且我必须重新启动我的电脑

【讨论】:

【参考方案3】:

在 Windows 10 上遇到过类似问题。此answer 使用名为FreePDB 的工具提供了解决方案。适用于 VS2003.NET,但显然此解决方案适用于多个版本的 Visual Studio。

【讨论】:

【参考方案4】:

在 VS2017 和 VS2013 中打开解决方案时遇到类似问题。通过关闭两个 Visual Studio 实例并重新打开解决方案文件来解决此问题。

【讨论】:

【参考方案5】:

快速修复某些情况,关闭所有 msbuild 和正在运行的实例,之前的一些运行可能会崩溃并保留一些文件/pdb

【讨论】:

【参考方案6】:

我在 VS2017 中遇到了这个问题。删除错误中提到的 PDB 为我解决了这个问题。

【讨论】:

以上是关于致命错误 LNK1201:写入程序数据库时出错 - Visual Studio 2003的主要内容,如果未能解决你的问题,请参考以下文章

致命错误 LNK1168:无法打开 filename.mexw64 进行写入

致命错误 LNK1000:IncrBuildImage 期间的内部错误

Visual Studio 2005 中的错误 LNK1201

链接:致命错误 LNK1104:无法打开文件“SDL.lib”

致命错误 LNK1104 C++

程序集致命错误 LNK1190:找到无效修复,类型 0x0001