針對VS編譯時提示:“無法打開xxx.exe進行寫入”,分析其觸發情況及產生原因,並提出解決方案。
觸發
通常出現在,編譯時出現中斷錯誤,點中斷后會出現如下提示:
如果不進行上圖的強制“立即停止”操作,則程序會一直卡在這里,等待調試完全停止,窗口才會關閉。但是如果“立即停止”,則下一次再進行編譯時,即會出現如題“無法打開xxx.exe進行寫入”的錯誤。
原因
如上圖提示所述,當強制“立即停止”時,調試尚未完成,此時編譯器仍卡在上一次調試時生成的進程中(不會在桌面體現出來),而“xxx.exe”文件仍被相關進程占用。此時,若進行下一次編譯,程序將會嘗試打開“xxx.exe”文件,並對其進行修改,但是該文件仍處於被占用狀態,所以才會提示無法打開並寫入的錯誤。
解決方法
解決方法很簡單,就是想辦法終止相應的編譯進程、釋放被占用的xxx.exe文件即可,通常有如下兩種解決方法:
1.方法一
把錯誤中提及的“xxx.exe”文件強制刪除(如“使用360強制刪除”),則進程被終止,然后重新編譯即可。
2.方法二
進入“任務管理器”,選擇“進程”選項卡,進入對應的Visual Studio進程,並展開下拉三角,查看當前進程包含的線程項,如下圖所示:
找到上圖所示的“VsHub.exe”,右鍵“結束任務”即可。