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

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

正在调试程序 编译时突然产生此错误 而且这种情况已经遇到好几次了
请问为什么?
...全文
597 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
磁盘空间多大?

64,687

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧