지난글에서는 VSCode에서 C++ 코드를 '실행(Run)'만 할 수 있는 설정을 했다.
하지만 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값을 입력할 수 있다.
끝.
'개발 환경' 카테고리의 다른 글
[VSCode] WebGL GLSL Editor (0) | 2021.02.17 |
---|---|
[VSCode] macOS에서 Visual Studio Code로 C/C++ 코딩하기(1) - Extension 설치 (24) | 2020.02.05 |
[VSCode] GLSL-Canvas (VSCode에서 GLSL 실시간 렌더링) (2) | 2019.12.07 |