visual studio 调试成功,然后稍加修改就出现.exe文件无法打开进行写入异常
visual studio 调试成功,然后稍加修改就出现.exe文件无法打开进行写入错误
我以前用的是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文件什么的都取消只读了也是还会出现这种情况。 如果每次编译完都要重启一下程序的话也太麻烦了吧?难道就没有简便的办法或者能彻底解决的办法吗?
谢谢诸位了!!!!!!!!!!!!!!!!!!!!!!!
------解决方案--------------------
帮顶。。。重建工程试下。。。
------解决方案--------------------
应该是 win7 的控制权限问题吧
我也不知道如何解决
------解决方案--------------------
新建一个空工程试试...
------解决方案--------------------
没遇到过。 一般这种无法写入 我就看看任务管理 发现他其实还在那
------解决方案--------------------
装卡巴斯基2010后没有配置好信任关系和监控功能可能会引发类似的错误.
检查下杀毒软件的实时监控是否配置合理
------解决方案--------------------
我认为,可能是杀毒软件干扰了编译器创建和删除文件的操作,从而引起编译失败.
你可以尝试下关闭杀毒软件的监控功能在试试
------解决方案--------------------
原因就是你哪个程序没有完全退出
重起后正常就是典型现象
------解决方案--------------------
我以前用的是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文件什么的都取消只读了也是还会出现这种情况。 如果每次编译完都要重启一下程序的话也太麻烦了吧?难道就没有简便的办法或者能彻底解决的办法吗?
谢谢诸位了!!!!!!!!!!!!!!!!!!!!!!!
------解决方案--------------------
帮顶。。。重建工程试下。。。
------解决方案--------------------
应该是 win7 的控制权限问题吧
我也不知道如何解决
------解决方案--------------------
新建一个空工程试试...
------解决方案--------------------
没遇到过。 一般这种无法写入 我就看看任务管理 发现他其实还在那
------解决方案--------------------
装卡巴斯基2010后没有配置好信任关系和监控功能可能会引发类似的错误.
检查下杀毒软件的实时监控是否配置合理
------解决方案--------------------
我认为,可能是杀毒软件干扰了编译器创建和删除文件的操作,从而引起编译失败.
你可以尝试下关闭杀毒软件的监控功能在试试
------解决方案--------------------
原因就是你哪个程序没有完全退出
重起后正常就是典型现象
------解决方案--------------------