即使任务管理器中未显示进程,崩溃后也无法删除 EXE
Unable to delete EXE after it crashes even though process not shown in Task Manager
我编写的程序崩溃了,我正在调试它。
但是,问题是当我尝试创建新版本时,我经常(但不总是!)收到消息:
Cannot open file 'TheExecutable.exe'
在系统重新启动之前,我无法删除、重命名、移动或以任何方式修改可执行文件。尝试在 Windows 资源管理器中这样做会得到
The action can't be completed because the file is open in TheExecutable.exe Close the file and try again.
这种行为不是我现在正在处理的特定崩溃所独有的,也不是特定程序所独有的。开发变得令人头疼,因为每次调试尝试现在都需要几分钟才能重新启动并恢复所有工具。
我能做些什么来防止 Windows 以这种方式 "locking" 可执行文件?
在任务管理器中看不到该可执行文件的 运行 进程
构建系统的完整细节:
- Windows 10
- 英特尔编译器,19.1.0.166 内部版本 20191121
- nmake
- C++14
您的进程并未一直终止。由于它不在任务管理器列表中,您可以使用PSKILL手动结束它。
打开电源shell或管理员模式的控制台运行
pskill name_of_executable
它应该终止它,这样你就可以重新运行它。
我编写的程序崩溃了,我正在调试它。
但是,问题是当我尝试创建新版本时,我经常(但不总是!)收到消息:
Cannot open file 'TheExecutable.exe'
在系统重新启动之前,我无法删除、重命名、移动或以任何方式修改可执行文件。尝试在 Windows 资源管理器中这样做会得到
The action can't be completed because the file is open in TheExecutable.exe Close the file and try again.
这种行为不是我现在正在处理的特定崩溃所独有的,也不是特定程序所独有的。开发变得令人头疼,因为每次调试尝试现在都需要几分钟才能重新启动并恢复所有工具。
我能做些什么来防止 Windows 以这种方式 "locking" 可执行文件?
在任务管理器中看不到该可执行文件的 运行 进程
构建系统的完整细节:
- Windows 10
- 英特尔编译器,19.1.0.166 内部版本 20191121
- nmake
- C++14
您的进程并未一直终止。由于它不在任务管理器列表中,您可以使用PSKILL手动结束它。
打开电源shell或管理员模式的控制台运行
pskill name_of_executable
它应该终止它,这样你就可以重新运行它。