Codeblocks 等软件 修改源代码后 不能立即执行的解决办法||exe文件删除慢

本文主要是介绍Codeblocks 等软件 修改源代码后 不能立即执行的解决办法||exe文件删除慢,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

不懈地奋斗了两天,终于找到原因了。

记录如下


症状:

Codeblocks 、Visual Studio 都出现此问题:修改源代码 无法立即执行 ,就是:cannot open output file "D:\xxxxx......\Debug\NEW.exe" permission denied!

一般是因为窗口是关闭了,但是 进程没有完全退出,如果有,那么关闭此进程(new.exe)就行。


但是问题并不简单。进程里面没有。


起初我怀疑是权限问题,我去那个目录 发现无法访问执行,无法删除,无法查看权限信息。但是过了大约1分钟,文件自动消失。设置了文件夹和该分区的最高权限,重装了codeblocks N次,问题依旧。

后来,怀疑是杀毒软件 死磕,用了Unlocker检查有没有被占用,结果没有被占用,用神器(procexp.exe)监测文件访问情况,监视了360 和 ESET的进程,然后又监视了 那个NEW.exe的情况,发现 这个文件 在那一分钟内是

Deleting Pending(删除挂起  /  删除等待)状态,也就是说系统正要删除它,而且没有发现 访问被拒绝的信息,但是我不明白这一分钟 系统或者软件在对它做什么。

百度查询无果。

由于本人没有任何技术基础,只能瞎碰经验,到此已经找不出原因了。

但是一有空就研究。。。。

今天发现,卸载软件的时候,我看着某个软件的目录下的文件,发现其他文件已经被删除,而剩下 uninstall.exe(卸载程序的主程序),我以为没有删除干净,当我手动删除的时候发现和我之前编译的程序文件一样,无法访问和执行,也无法删除,无法查看权限信息。

于是我习惯性的把问题转化为 关键词——exe文件删除慢,然后查到了。


很容易就找到 问题所在,就是Application Experience服务 被禁用

我似乎没有动过这个服务,但是之前优化过一些启动项。所以说,不明白的服务项不能随便关闭,否则出现无法意料也不知道原因的疑难杂症,问题很小,但不至于为了这个问题去重做系统。于是我疯狂地找到了这个原因。


理论的解决方法:

打开 Application ExperienceProgram Compatibility Assistant Service两个服务(确保这两个服务是处于启动状态)

具体做法,右键服务项,如果启动是灰色的,选择属性,选择自动,然后确定,然后再右键,就可以启动。


实际上:

Application Experience处于手动,不能是禁用就行了、而 Program Compatibility Assistant Service服务可以禁用。

这篇关于Codeblocks 等软件 修改源代码后 不能立即执行的解决办法||exe文件删除慢的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1011174

相关文章

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

python删除xml中的w:ascii属性的步骤

《python删除xml中的w:ascii属性的步骤》使用xml.etree.ElementTree删除WordXML中w:ascii属性,需注册命名空间并定位rFonts元素,通过del操作删除属... 可以使用python的XML.etree.ElementTree模块通过以下步骤删除XML中的w:as

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

Navicat数据表的数据添加,删除及使用sql完成数据的添加过程

《Navicat数据表的数据添加,删除及使用sql完成数据的添加过程》:本文主要介绍Navicat数据表的数据添加,删除及使用sql完成数据的添加过程,具有很好的参考价值,希望对大家有所帮助,如有... 目录Navicat数据表数据添加,删除及使用sql完成数据添加选中操作的表则出现如下界面,查看左下角从左

如何在Mac上彻底删除Edge账户? 手动卸载Edge浏览器并清理残留文件技巧

《如何在Mac上彻底删除Edge账户?手动卸载Edge浏览器并清理残留文件技巧》Mac上的Edge账户里存了不少网站密码和个人信息,结果同事一不小心打开了,简直尴尬到爆炸,想要卸载edge浏览器并清... 如果你遇到 Microsoft Edge 浏览器运行迟缓、频繁崩溃或网页加载异常等问题,可以尝试多种方

Qt 设置软件版本信息的实现

《Qt设置软件版本信息的实现》本文介绍了Qt项目中设置版本信息的三种常用方法,包括.pro文件和version.rc配置、CMakeLists.txt与version.h.in结合,具有一定的参考... 目录在运行程序期间设置版本信息可以参考VS在 QT 中设置软件版本信息的几种方法方法一:通过 .pro

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

Redis过期删除机制与内存淘汰策略的解析指南

《Redis过期删除机制与内存淘汰策略的解析指南》在使用Redis构建缓存系统时,很多开发者只设置了EXPIRE但却忽略了背后Redis的过期删除机制与内存淘汰策略,下面小编就来和大家详细介绍一下... 目录1、简述2、Redis http://www.chinasem.cn的过期删除策略(Key Expir

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.