VS 코드를 사용하여 Windows에서 C++ 코드 디버깅
첫 번째 문제는 Windows (내 예는 Windows 10) 에서 디버거를 설정하는 것입니다. C++ 같은 언어에 사용할 때 문제가 매우 큽니다.Codeblocks을 사용할 수 있었지만 이런 상황에서 Windows 플랫폼의 디버깅 기능을 지원하지만 테마 응용 프로그램에 익숙하지 않아서 디버깅 인터페이스를 별로 좋아하지 않습니다.많은 다른 개발자들처럼 저도 어둠의 주제를 가진 팬입니다. VS코드 같은 것을 사용하면 저에게 어둠의 주제를 탐색할 수 있는 더 많은 선택을 줄 것입니다.따라서 C++ 디버거를 Windows 시스템에서 실행하기로 했습니다.
구글에서 많은 내용을 검색하고 많은 글을 읽은 후에 나는 마침내 나의 Windows 시스템에서 VS 코드를 사용하여 나의 C++ 코드를 디버깅할 수 있었지만 나는 완전한 해결 방안을 세우는 데 많은 시간을 들였다.그래서 나는 전체 과정을 위해 컴파일된 단계별 안내서를 작성하여 한 곳에서 모든 내용을 찾을 수 있도록 하기로 결정했다.다음 단계는 다음과 같습니다.
WSL 명령 프롬프트에서 먼저 apt get update를 실행하여 Ubuntu 패키지 목록을 업데이트하여 패키지가 만료되어 문제가 발생하지 않도록 합니다.
sudo apt-get update
다음을 입력하여 GNU 컴파일러 도구와 GDB 디버거를 설치합니다.
sudo apt-get install build-essential gdb
컴파일러 도구를 설치한 후 다음 명령을 사용하여 GNU C++ 컴파일러와 디버거가 설치되어 있는지 확인합니다.
g++ --version
gdb --version
두 명령 모두 WSL의 현재 버전을 반환하지 않고 오류가 발생한 경우 GNU 컴파일러 도구를 다시 업데이트하거나 설치하십시오.이제 Linux 환경이 완전히 설정되어 있어서 이것들을 실행할 수 있습니다.비주얼 스튜디오 프로젝트 (예:hello World) 를 위한 폴더를 만들고 다음 명령을 사용하여 프로젝트 폴더의 비주얼 스튜디오 코드에서 엽니다.
mkdir helloworld
cd mkdir
code .
VS 코드를 WSL에서 연 후 보기 > 확장 (또는 Ctrl + Shift + X) 으로 이동하여 두 가지 확장을 설치합니다.
Remote - WSL extension: 원격 WSL 확장을 사용하면 VS 코드부터 Windows Linux 서브시스템(WSL)을 전체 개발 환경으로 사용할 수 있습니다.
C/C++: C/C++ 확장은 C/C++에 대한 언어 지원을 Visual Studio 코드에 추가하고 IntelliSense와 디버깅 등의 기능을 포함합니다.
지금 당신은 이미 코드를 작성할 준비가 되어 있습니다.VS 코드에서 소스 코드 파일(예: helloWorld.cpp)을 추가하고 이 파일에서 코드를 작성합니다.
// helloWorld.CPP
#include<bits/stdc++.h>
using namespace std;
int lengthOfLIS(vector<int>& a, int n) {
if(n==0)
return 0;
vector<int> dp(n, 0);
dp[0] = a[0];
int len = 1;
for(int i=1; i<n; i++){
auto it = lower_bound(dp.begin(), dp.begin()+len, a[i]);
if(it == dp.begin()+len)
dp[len++] = a[i];
else
*it = a[i];
}
return len;
}
int main(){
int n;
cin>>n;
vector<int> v;
int x;
for(int i=0; i<n; i++){
cin>>x;
v.push_back(x);
}
cout<<lengthOfLIS(v, n);
}
Terminal > Configure Default Build Task
으로 이동합니다.아래 목록에서 g++ build active file
을 선택하면 현재 편집기에 표시된 파일을 구축합니다. (이 예는 HelloWorld.cpp입니다.)이것은 작업을 만들 것입니다.의 json 파일입니다.vscode 폴더를 편집기에서 엽니다.새 작업json 파일은 다음과 유사해야 합니다.
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "g++ build active file",
"command": "/usr/bin/g++",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "/usr/bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
}
]
}
다음은
Run > Add Configuration
을 선택한 다음 C++(GDB/LLDB)
을 선택하십시오.그리고 미리 정의된 디버그 설정의 드롭다운 목록을 볼 수 있습니다.
g++ build and debug active file
을 선택합니다.VS 코드 생성 시작.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": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "g++ build active file",
"miDebuggerPath": "/usr/bin/gdb",
}
]
}
Run > Start Debugging
을 선택합니다.브레이크 지점을 설정하는 것을 잊지 마십시오. (줄 번호 왼쪽만 누르면) 디버거가 멈추기를 원합니다. 아래 그림과 같습니다.Reference
이 문제에 관하여(VS 코드를 사용하여 Windows에서 C++ 코드 디버깅), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/camelcase/how-to-run-vs-code-c-debugger-on-windows-4d3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)