VS Code로 C++ 디버깅

VS Code로 C++ 디버깅

동기

  1. 서버 만드는 도중에 테스트할 때마다 테스트 프로젝트를 키는게 귀찮다. gcc로 하는 것도 나쁘지는 않지만, 가벼운 IDE같은게 있으면 좋겠다.
    그리고보니 VS Code로도 가능하겠다. 이용해보자.

계획

  1. VS Code로 디버깅을 해보자.

난관

  1. 컴파일은 쉬운데, 디버깅에서 시간을 많이 잡아먹었다. json으로 gcc 쉘을 참조해서 하는 것같은데, 이 설정과 단계가 이해가 안갔다.

과정

  1. 컴파일

    당연하지만, 우선 gcc를 설치해야한다. 우리는 자주 사용하는 Mingw를 이용할 것이다. Mingw로 gcc를 설치후 환경변수에 gcc를 입력한다.
    정상적으로 gcc를 설치했다면, 우리는 vs code에 c++를 이용하기 위한 확장을 설치해야한다. 설치할 확장은 C/C++ 혹은 Code Runner이다. C/C++은 C언어에 대한 지원이고, Code Runnder는 C만이 아닌 Java, Python, JS, .NET 등등 다양한 언어를 지원하는 확장이다.


    코드를 작성한 후에 우클릭으로 Run Code를 클릭하거나, Ctrl+Alt+N으로 빌드가능하다. 빌드한 결과는 아래의 창에서 볼 수 있다.

  2. 디버깅

    위의 컴파일 과정을 정상적으로 실행했다면, 해야할 일은 많이 줄어든다. 왼쪽의 메뉴 도구에서 디버그라고 거미(버그)에 빗금이 처진 아이콘이 있을 것(이거 노린거겠지...?;)이다.
    우리에게 익숙한 디버그 재생버튼을 누르면 작은 창이 뜰 것이다. 여기에 gdb를 선택하면 .vscode 폴더와 함께 launch.json이 만들어진다. 당연히 직감적으로 launch.json은 디버깅을 하기위한 json 파일이란 것을 알 수 있었고, 나는 json을 하나도 모른다 (...).
    검색(과 많은 실험)을 통해 나는 디버깅하기위해 필요한 부분을 알 수 있었다. MS와 다른 블로그들은 많은 설정을 요구했지만, 결국에 내가 설정해야할 곳은 단 두 개였다.

"program": "${workspaceFolder}/a.exe"
"miDebuggerPath": "C:\\mingw\\bin\\gdb.exe"

program 속성은 내가 디버깅에 필요한 실행파일의 위치였고, miDebuggerPath는 gdb 실행파일의 경로를 나타낸다. 유의해야할 점은 실제 생성되는 실행파일의 이름과 json에 설정된 실행파일의 이름을 잘 맞춰야한다. 실행파일의 디폴트 이름은 소스코드와 같으니 설정에서 맞춰주어야한다.

주의점

  1. 경로상에 한글이 있으면 안된다.
  2. launch.json의 program 속성을 a.exe로 했다면, 실제 생성되는 파일의 이름도 a.exe로 만들어야한다.



'프로그래밍 > 프로그래밍 관련' 카테고리의 다른 글

declspec에 대해  (0) 2018.02.23
RAII (1)  (0) 2018.01.28
GitHub와 VS의 연동 문제  (0) 2018.01.23
VS Code로 Markdown 편집하기  (0) 2018.01.23
VS를 깃허브에 연동  (0) 2018.01.22
더보기

댓글,

Lowpoly

게임 서버 프로그래머 지망생