본문 바로가기

개발자/C++(Linux, Window)

[VSCode] macOS에서 Visual Studio Code로 C/C++ 코딩하기(2) - 디버깅을 위한 tasks.json, launch.json 설정

반응형

지난글에서는 VSCode에서 C++ 코드를 '실행(Run)'만 할 수 있는 설정을 했다. 

 

[VSCode] macOS에서 Visual Studio Code로 C/C++ 코딩하기(1) - Extension 설치

MacOS에서 Windows의 Visual Studio같은 IDE는 대표적으로 XCode가 있다. But.... 써본 사람들은 알겠지만, 인터페이스가 예쁘긴 한데 뭔가 불편하고 특히 PS(Problem Solving) 공부할 때 input/output 에서 약간..

junekkk.tistory.com

하지만 PS 할 때 디버깅 없이 로그만 주구창창찍어보며 하기에는 너무 귀찮다.

지난번에 설치했던 Code Runner는 코드 실행만 할 수 있고 디버깅 기능은 없기때문에 이번에는 디버깅 할 수 있도록 설정해봅시다.


  • 우선 디버깅을 할 수 있도록 원하는 줄에서 fn+F9 를 눌러 브레이크포인트를 걸어보자. 다만, 디버깅을 하기전에 .cpp파일 말고, 실행파일(Code Runner가 실행할때 생성하는 파일)이 필요하니 재생버튼을 한번 눌러서 코드를 최소 한번은 실행시켜줘야한다.


  • 그리고 디버깅 단축키인 fn+F5 를 눌러보자. 그럼 아래와 같은 창이 뜰것이다. C++ (GDB/LLDB) 선택!


  • 그럼 이어서 또 다른 창이 뜬다. g++ build and debug active file 선택!


  • launch.json 파일이 곧바로 생성된다.


  • 저장(Command + S)을 하고, 다시 .cpp파일로 돌아와서 fn+F5 를 누르면 아래와 같이 g++ build active file 명령어를 찾을 수 없다고 경고창이 뜬다. Configure Task 를 클릭!


  • 방금 경고창에 떴던 명렁어인 C/C++:g++ build active file 을 선택


  • 그럼 아래와 같이 tasks.json 파일이 생성된다. 거의 다 왔다.


  • 여기서 조금만 더 수정하면 된다. 위에까지만 설정해도 디버깅은 되지만, 지난 포스팅 처럼 모던C++(11이상)을 지원하지 않는 세팅이다. "args": 부분을 조금 수정해야한다. "-g" 밑에 "-std=c++14" 를 추가해주자.
    tasks.json

{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "2.0.0", "tasks": [ { "type": "shell", "label": "g++ build active file", "command": "/usr/bin/g++", "args": [ "-g", "-std=c++14", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}" ], "options": { "cwd": "/usr/bin" }, "problemMatcher": [ "$gcc" ], "group": "build" } ] }

 

 


  •  launch.json 은 따로 수정하지 않아도 된다. 혹시몰라서 코드는 첨부
    launch.json

{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "g++ build and debug active file", "type": "cppdbg", "request": "launch", "program": "${fileDirname}/${fileBasenameNoExtension}", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "lldb", "preLaunchTask": "g++ build active file" } ] }


  • 다시 .cpp 파일로 돌아와서 fn+F5 를 눌러 디버깅을 하면 잘 된다!

 

+) 내용 추가

디버깅 실행시키고 새로운 input을 받으려고 암만 VSCode아래 터미널창에 입력해봐도 입력이 안된다.

launch.json  "externalConsole" 을 true  설정해주면, 디버깅 시 새로운 터미널창이 열리면서 거기서는 input값을 입력할 수 있다.

 

출처 : https://junekkk.tistory.com/21

반응형