목차
Linux 시스템에서 C / C ++ 디버깅은 일반적으로 gdb를 사용하지만 gdb를 사용하는 것은 그렇게 직관적이지 않으며 기억해야 할 명령이 많습니다. 이 기사에서는 정말 유용한 편집기 인 C / C ++ 프로그램을 디버깅하는 VSCode를 소개합니다.
하나, VSCode 플러그인 설치
1.1 중국어 플러그인 설치
다음 그림과 같이 VSCode를 열고 VSCode에 언어 플러그인을 설치 한 다음 왼쪽의 <확장 프로그램>을 클릭하고 중국어를 입력 한 다음 설치를 클릭합니다.
1.2 C / C ++ 플러그인 설치
다음 그림과 같이 확장에서 C를 입력하고 C / C ++ 설치를 선택합니다.
2. Linux에 소프트웨어 패키지 설치
2.1 gcc-c ++ 설치
이 기사에서 Linux는 CentOS 8을 사용하고 gcc-c ++를 설치하고 다음 명령을 실행합니다.
[root@bogon debug-C++]# yum install gcc-c++
2.2 gdb 설치
gdb는 백그라운드에서 사용되므로 다음과 같이 gdb를 설치합니다.
[root@bogon debug-C++]# yum install gdb
셋, VSCode 구성
3.1 컴파일 구성
아래 그림과 같이 메뉴 표시 줄 <terminal>, <configuration task>, <use template to create tasks.json>, <Others>를 클릭합니다.
tasks.json의 json 구성 파일이 나타납니다. tasks.json을 재구성하면 다음과 같습니다.
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "debug-C++", // 任务名称
"type": "shell", // 表示使用 shell 命令执行
"command": "g++", // 实际执行的命令
"args": [ // 实际执行命令的参数,使用逗号分隔
"-g", // -g 参数表示添加 debug 信息
"-o", // -o 指定输出文件名称
"main", // 输出文件名称
"main.cpp" // 源文件
]
}
]
}
추가가 완료되면 다음 그림과 같이 왼쪽 탐색기 섹션의 ".vscode"디렉토리에 추가 파일 tasks.json이 있음을 알 수 있습니다.
3.2 디버그 구성
아래 그림과 같이 메뉴 표시 줄 <터미널>, <구성 추가>, <C ++ (GDB / LLDB)>를 클릭합니다.
추신 : 다음 오류가 발생하면 먼저 디버깅 정보가있는 실행 파일을 생성하고 마우스를 사용하여 실행 파일을 선택한 다음 실행하십시오.
Cannot read property 'includes' of undefined
그러면 재구성 후 아래와 같이 launch.json 파일이 나타납니다.
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "debuge test", // 名称
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/main", //可执行文件的位置 ${workspaceFolder}:当前目录
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "debug-C++" // 重要:在调试之前启动的任务名称
}
]
}
위의 구성이 끝나면 모든 구성 작업이 완료됩니다.
네, 디버그
4.1 코드 작성
다음은 의도적으로 조금 더 복잡하게 작성되었습니다.
#include <iostream>
using namespace std;
void function1(int i, int j) {
cout<<"function1"<<endl;
cout<<"i = "<<i<<" j = "<<j<<endl;
}
int main() {
int i = 1;
int j = 2;
function1(i, j);
cout<<"Hello, World!"<<endl;
i = 3;
j = 5;
function1(i, j);
cout<<"Hello, World!"<<endl;
return 0;
}
4.2 디버그
아래 그림과 같이 F5 (또는 메뉴 표시 줄 <실행>, <디버깅 시작> 클릭)를 클릭합니다.
이 중 변수, 모니터, 호출 스택 및 중단 점은 왼쪽에 표시 될 수 있으며 오른쪽 가로 막대의 버튼은 계속, 스텝 오버, 스텝 디버그, 스텝 아웃, 다시 시작 및 중지입니다.
다섯, 요약
위의 단계가 끝나면 VSCode를 통해 C / C ++ 프로그램을 디버깅 할 수 있습니다. 지금 시도해보세요!
6. 참조 링크
[1] https://code.visualstudio.com/docs/editor/tasks#vscode
[2] https://code.visualstudio.com/docs/editor/debugging#_launch-configurations