[VSCode] miDebuggerPath 오류 해결

한시온·2022년 3월 1일
0
post-thumbnail

배경

VSCode에서 C++ 디버깅 환경설정을 하다가 오류를 만났다.
에러 메시지는

The value of miDebuggerPath is invalid.

원인 분석

당시 launch.jsonmiDebuggerPath는 다음과 같았다.

...
"miDebuggerPath": "C:\\msys64\\mingw64\bin\\gdb.exe",
...

1. gdb.exe 실행파일이 위치한 경로가 잘못 입력되었는가?
-> 아니다. 명령프롬포트를 통해 실행 파일의 경로를 확인해보면 입력한 경로와 일치함을 알 수 있다.

C:\Users\ZIONHANN>where gdb
C:\msys64\mingw64\bin\gdb.exe

2. miDebuggerPath의 탐색 방법이 내가 아는 것과 다른가?
-> YES. miDebuggerPath는 시스템 변수에 등록된 경로를 최상위 경로로 하여 탐색한다.

내가 아는 것: 하드 드라이브를 root로 하는 경로
실제: 시스템 환경 변수를 root로 하는 경로

VSCode 공식 문서를 보자.

miDebuggerPath
The path to the debugger (such as gdb). When only the executable is specified, it will search the operating system's PATH variable for a debugger (GDB on Linux and Windows, LLDB on OS X).

시스템 변수에 등록된 경로 중 gdb.exe 실행 파일을 포함하는 pathC:\msys64\mingw64\bin이고
해당 실행 파일은 bin 디렉토리의 하위에 있으므로 miDebuggerPath에는 실행 파일만 써주면 되는 것이다!

만약 시스템 환경 변수에 mingwpath로 등록하지 않은 경우 VSCodeMiDebuggerPath에 등록된 경로로 Debugger를 탐색한다. 즉 이때는 하드드라이브부터 시작하는 절대 경로를 입력하는 것이 맞다.

해결

launch.json

...
"miDebuggerPath": "gdb.exe",
...

출처

https://code.visualstudio.com/docs/cpp/launch-json-reference#_midebuggerpath

profile
가볍고 무겁게

0개의 댓글