昨天搭建了 VSCode Cpp 斷點調試環境,中午還能跑的,到了傍晚就開始報錯了。按照我釋出的文章搭建的環境,按 F5 試圖斷點調試時,報錯如下:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL9kEVNp3ZE5UeRRVT3V1MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL1ETN3ETM0ATM0IDMxkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
注意看 VSCode 內建的 TERMINAL 裡的報錯
g++.exe: error: e:ProjectsVSCodeCppTest5srctest.cpp: No such file or directory
這裡的 e:ProjectsVSCodeCppTest5srctest.cpp 其實應該是 e:\Projects\VSCode\Cpp\Test5\src\test.cpp。
但是卻被解析為沒有斜杠的位址,是以才會導緻編譯器找不到該檔案。
原來,造成這個錯誤解析的原因在于。不同的終端對斜杠和反斜杠的解析規則不同。而我昨天在配好環境之後,又偶然發現 VS Code 自己內建了終端,而且還內建了環境中所有的終端,包括
PowerShell
,
Command Prompt(cmd)
,和
Git Bash
。
當使用快捷鍵
ctrl
+
shift
+
~
打開終端時,點選右側的下拉箭頭可以選擇預設打開的 終端。
點選
Select Default Shell
之後,在界面上方就會彈出環境中的所有 Shell 以供選擇。
選擇了
Git Bash
然後 F5 調試 Cpp 代碼的話,就會報開篇的錯誤。當選擇了
PowerShell
或者
Command Prompt
之後,就可以正常調試啦!
注意,
報錯時點選下拉菜單是無法選擇預設 shell 的,需要用快捷鍵自己打開一個終端。