visual studio 调试成功,然后稍加修改就出现.exe文件无法打开进行写入错误

light_power 2010-02-22 02:44:30
我以前用的是visual studio 2008,有一次做的是一个非常简单的程序,但是调试成功后稍加修改就说DEBUG中的.exe文件无法打开进行写入,然后将DEBUG文件夹删除以后就又可以调试成功了。我现在用的是visual studio2005,但是还是遇到了类似的问题。以前用的是xp现在用的是win7,所以我觉得不大可能是系统的问题,但不排除我关闭了什么启动项。如程序:
#include "stdafx.h"
#include <iostream>
#include <string.h>
using namespace std;
int make_cmd(char* sz_out,const char* ne_name,const char* sz_cmd,const char* sessid)
{
sprintf(sz_out,"getfile_proxy -nename %s -cmdstr \"[%s]\" -sessid %s -cmdid __RZ_SD_MOBILE",ne_name,sz_cmd,sessid);
return 1;
}
int main()
{

char str_cmd[255]={0};


memset(str_cmd,0,sizeof(str_cmd));//初始化分配内存
make_cmd(str_cmd,"YTBSC50","NTCOP:SNT=ETM2-3;","10001");
//将字符串添加到str_cmd中

for(int i=0;i <255;i++)
cout < <str_cmd[i];//打印字符数组


return 0;
}
第一次调试的时候是成功的,但是把make_cmd给注释了调试一下还是成功,再改回来就不成功了,显示:LINK : fatal error LNK1168: 无法打开 F:\h\Debug\h.exe 进行写入。当我把DEBUG文件删除,再调试就又可以了。请问诸位人才这是怎么回事啊?
问题补充:我查看过任务管理器.exe文件没有在运行,而且我也可以删除Debug文件夹,也就是说h.exe可以被删除,当我删除后就又可以调试了。这并不是还没有调试完的问题,因为这种情况是发生在我调试完然后又做了点修改之后。还有我将exe文件什么的都取消只读了也是还会出现这种情况。 如果每次编译完都要重启一下程序的话也太麻烦了吧?难道就没有简便的办法或者能彻底解决的办法吗?
谢谢诸位了!!!!!!!!!!!!!!!!!!!!!!!
...全文
1131 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
kuenior 2012-07-24
  • 打赏
  • 举报
回复
关了h.exe的进程就行了。
具体原因还是不明白,但是在任务管理器中 ,关了h.exe的进程就行了
zsdt345a780rfajwet 2012-07-02
  • 打赏
  • 举报
回复
服务里面打开“APPLICATION EXPERIENCE SERVICE”就可以了。
这个方法是在msdn的国际论坛上找到的,我试了,成功了。
希望给接下来遇到这个问题的朋友一个解决办法。

楼主,可以结贴给分了~
(虽然可能你已经不在乎这么久以后才出现的解决办法。。。)
zsdt345a780rfajwet 2012-06-21
  • 打赏
  • 举报
回复
我也遇到了,不知道怎么办。。。
nobody@noone 2010-02-23
  • 打赏
  • 举报
回复
原因就是你哪个程序没有完全退出

重起后正常就是典型现象
nscboy 2010-02-23
  • 打赏
  • 举报
回复
我认为,可能是杀毒软件干扰了编译器创建和删除文件的操作,从而引起编译失败.
你可以尝试下关闭杀毒软件的监控功能在试试
light_power 2010-02-23
  • 打赏
  • 举报
回复
太令人灰心了。。。。。。。。。
light_power 2010-02-23
  • 打赏
  • 举报
回复
我实在是头疼至极了,虽然没能解决的了,但是大家的帮助我看在眼里,所以感谢诸位的回复,我要结贴了
cphj 2010-02-23
  • 打赏
  • 举报
回复
引用 3 楼 light_power 的回复:
1>------ 已启动清理: 项目: h, 配置: Debug Win32 ------
1>正在删除项目“h”(配置“Debug|Win32”)的中间文件和输出文件
1>h : error PRJ0008 : 未能删除文件“f:\h\debug\h.exe”。
1>请确保该文件未被其他进程打开并且未被写保护。
1>h - 1 个错误,0 个警告
========== 清理: 0 已成功, 1 已失败, 0 已跳过 ==========


PRJ0008在MSDN上的解释就是“无法删除文件”
只有2种情况
1. 其他进程正在打开该文件(包括但不限于:自身运行、VS开发环境打开、杀毒软件屏蔽、病毒感染等各种情况)
2. 文件属性被设定为不可改写

你可以用FileMon等系统软件察看一下,到底是什么进程打开的h.exe文件
light_power 2010-02-23
  • 打赏
  • 举报
回复
引用 9 楼 nscboy 的回复:
我认为,可能是杀毒软件干扰了编译器创建和删除文件的操作,从而引起编译失败.
你可以尝试下关闭杀毒软件的监控功能在试试



恩,我禁用了杀毒软件了,但是情况没有改变什么。谢谢!
light_power 2010-02-22
  • 打赏
  • 举报
回复
引用 6 楼 nscboy 的回复:
装卡巴斯基2010后没有配置好信任关系和监控功能可能会引发类似的错误.
检查下杀毒软件的实时监控是否配置合理



跟杀毒软件有关吗?我以前用avast的时候就出现这种情况,可现在使用的是360杀毒。卡巴斯基没用过。
nscboy 2010-02-22
  • 打赏
  • 举报
回复
装卡巴斯基2010后没有配置好信任关系和监控功能可能会引发类似的错误.
检查下杀毒软件的实时监控是否配置合理
light_power 2010-02-22
  • 打赏
  • 举报
回复
引用 2 楼 behard 的回复:
应该是 win7 的控制权限问题吧
我也不知道如何解决



也不一定是win7的问题,因为我以前装的是visual studio2008 用的是xp 也遇到过这样的情况。谢谢诸位的关注了。
macrojj 2010-02-22
  • 打赏
  • 举报
回复
没遇到过。 一般这种无法写入 我就看看任务管理 发现他其实还在那
太乙 2010-02-22
  • 打赏
  • 举报
回复
新建一个工程试试...
Behard 2010-02-22
  • 打赏
  • 举报
回复
应该是 win7 的控制权限问题吧
我也不知道如何解决
stardust20 2010-02-22
  • 打赏
  • 举报
回复
帮顶。。。重建工程试下。。。

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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