关于VC编译时的错误???

cdai 工程师  2007-04-27 08:50:07
LINK : fatal error LNK1201: 写入程序数据库“d:\temp\Debug\temp.pdb”时出错;请检查是否是磁盘空间不足、路径无效或权限不够

正在调试程序 编译时突然产生此错误 而且这种情况已经遇到好几次了
请问为什么?
...全文
487 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
cdai 2007-04-27
晕! 使用“停止调试”就行了! 多谢各位啦
回复
lightnut 2007-04-27
这种情况下pdb不能删除, 但可以改成另外的名字, 重新编译就可以了.
回复
cdai 2007-04-27
楼上说得太好了!我完全明白了。再多问一句:除了重启IDE还有没有其他方便些的方法
回复
cdai 2007-04-27
好像是之前的那次编译通过但运行时产生错误中止,之后我用任务管理器终结了控制台 之后pdb文件就变成那样了
回复
不想低调 2007-04-27
写入程序数据库“filename”时出错;请检查是否是磁盘空间不足、路径无效或权限不够

LINK 未能写入输出文件的程序数据库 (PDB)。

可能的原因

文件已损坏。删除 PDB 文件然后重新链接。
没有足够的磁盘空间写入文件。
可能由于网络问题,驱动器不可用。
调试器在您试图链接的程序上是活动的。

工作中,最容易出现的原因是最后一条:“调试器在您试图链接的程序上是活动的。”

什么意思呢,就是复杂项目开发中,有很多个项目,你调用着我的,我使用着他的;

你的和他的又在同一个解决方案下,这在由多个dll,多个exe组成的系统中最容易出现。

即:当你编译某一项目时,该项目的pdb文件正被另一处于调试状态

下的编译器所使用,编译无法向项目pdb文件写入数据,无奈之下,编译器只好

向你报LNK1201错误请求你协助解决。
回复
yutaooo 2007-04-27
对, 再检查下. 下次如果发生这情况. 把IDE 重启一下, 看看是否能再连接. 会不会是有个调试器打开了文件? 我觉得可能挺大的, 你是不是疯狂按F5的 ?
回复
cdai 2007-04-27
多谢各位! 按照三楼的clean时显示无法删除temp.pdb
没办法 重启VC7再clean和rebuilt后可以运行了
真奇怪!
回复
yutaooo 2007-04-27
没遇到过. 我想先进行这些处理吧.

1. 确认一下是否磁盘空间满了.

2. 如果没有, 扫描一下硬盘, 检查一下有没有坏的.

3. 都 ok, 又不是在进行正式项目, 干脆把pdb禁掉. 可以在项目属性 | 连接器 | 调试 | 生成调试信息, 选择否. 或命令行上不使用 /DEBUG 选项.

4. 不过pdb里是调试用的符号信息. 没这个对调试可能有点不利.

5. 对于正式项目, 就要全面检查了. 要检查是否安装了所有的补丁(操作系统 , vs).

祝你好运~
回复
cdai 2007-04-27
d:\temp\Debug\temp.pdb不是只读
回复
飞哥 2007-04-27
是否只读

clean一下 rebuild
回复
cdai 2007-04-27
还有2.95G
刚才还好好的 重编译时突然这样了
回复
OpenHero 2007-04-27
磁盘空间多大?
回复
相关推荐
发帖
C++ 语言
创建于2007-09-28

6.0w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
申请成为版主
帖子事件
创建了帖子
2007-04-27 08:50
社区公告
暂无公告