>  기사  >  개발 도구  >  자세한 구성 설명: vscode의 원격 디버깅 C++

자세한 구성 설명: vscode의 원격 디버깅 C++

青灯夜游
青灯夜游앞으로
2022-10-14 19:47:133336검색

자세한 구성 설명: vscode의 원격 디버깅 C++

최근에 Linux 웹 서버 개발을 배우고 있습니다. Linux에서 자체 C/C++ 코드를 디버깅해야 합니다. 그러나 Linux는 Windows에서 직접 Visio Studio나 기타 통합 개발 환경만큼 편리하지 않습니다. 상대적으로 문제가 있습니다. 따라서 원격 개발을 위해 VScode 사용을 고려할 수 있습니다. 그러나 인터넷의 많은 튜토리얼은 명확하지 않습니다. 많은 튜토리얼을 시도한 후에 최종 요약은 다음과 같습니다. [추천 학습: "vscode 튜토리얼"]

1. 시스템 구성

원격 시스템: ubuntu18.04(가상 머신)
개발 호스트: windows10

2.Ubuntu 원격 설치 소프트웨어 및 설정

(1) 필요한 소프트웨어 설치: ssh(시스템 통신), gdb, gsdbserver(코드 디버깅):

sudo apt-get install openssh-server
sudo apt-get install gdb
sudo apt-get install gdbserver

(2) 테스트 폴더 및 파일 생성

참고:

  • 그러나 한 단계에서 올바른 작업을 수행하고 최종 프로그램을 직접 테스트하고 싶을 수도 있지만 이렇게 하는 것은 권장되지 않습니다. 먼저 테스트하기 위해 새로운 hello 및 world 프로그램을 만든 다음 성공 후 자신의 코드를 디버깅하는 것이 좋습니다.
  • 폴더 위치나 내용은 상관없으나 간단하게 만드는 것이 가장 좋습니다
cd ~/桌面
mkdir testvs
cd testvs
touch main.cpp
gedit main.cpp

main.cpp 코드는 다음과 같습니다.

#include <stdio.h>
 
int main()
{
    int a = 1;
    printf("hello world\n");
    getchar();
    return 0;
}</stdio.h>

(3) 실행 파일을 컴파일하고 가져옵니다

g++ main.cpp -o main -gg++ main.cpp -o main -g
注意:

  • 加-g选项,不然没法用gdb调试
  • 运行后testvs文件夹下有main.cpp和main两个文件

(4)启动gdbserver

(4.1)首先看一下自己的ubuntu系统ip地址:

hostname -I
자세한 구성 설명: vscode의 원격 디버깅 C++
可以得到本地ip地址为192.168.199.131

(4.2)启动gdbserver(注意更改ip地址和测试文件目录)

gdbserver 192.168.199.131:2000 ~/桌面/testvs/main참고:
자세한 구성 설명: vscode의 원격 디버깅 C++

-g 옵션을 추가하세요. 그렇지 않으면 gdb를 사용하여 디버그할 수 없습니다.

실행 후 testvs에 main.cpp와 main 두 파일이 있습니다. 폴더

(4)gdbserver 시작

  • (4.1) 먼저 우분투 시스템 IP 주소를 확인하세요:
  • hostname -I
  • 자세한 구성 설명: vscode의 원격 디버깅 C++
  • 로컬 IP 주소를 192.168.199.131로 얻을 수 있습니다
(4.2)gdbserver 시작(IP 주소 및 테스트 파일 디렉터리 변경에 주의)

gdbserver 192.168.199.131:2000 ~/Desktop/testvs/main


3. 호스트 VScode 설정

자세한 구성 설명: vscode의 원격 디버깅 C++

(1) 먼저 VScode에 다음 플러그인을 설치합니다.

자세한 구성 설명: vscode의 원격 디버깅 C++

C/C++C/C++ Extension Pack

Remote - SSH

원격 개발

자세한 구성 설명: vscode의 원격 디버깅 C++

(2) SSH 원격 연결

왼쪽 하단의 "관리"->"제어판"에서 "원격-SSH: 호스트에 연결..." 옵션을 찾습니다. 새 SSH 호스트 추가...우분투 시스템 IP 주소를 입력하면 새로운 주소가 나타납니다. 인터페이스

빨간색 상자에 우분투 시스템 비밀번호를 입력하세요. 왼쪽 하단에 녹색 IP 주소가 표시되면, 아래와 같이 성공적으로 연결되었습니다.

(3) 테스트 파일 열기

폴더 열기 -> 테스트 폴더 디렉터리 선택, "확인" 버튼 클릭

C/C++ 확장자 "In SSH" 선택 :XXX 설치". C/C++ Extension Pack에도 동일하게 적용됩니다.

그런 다음 Ubuntu에서 Vscode 및 gdbserver를 다시 시작하고(다시 시작해야 합니다. 그렇지 않으면 다음 단계에서 오류가 보고됩니다) 위의 원격 연결 프로세스를 다시 실행합니다. 자세한 구성 설명: vscode의 원격 디버깅 C++

(4) 구성 파일 설정

🎜🎜(4.1) task.json 구성🎜🎜🎜 메뉴 표시줄에서 터미널>기본 빌드 작업 구성을 선택하고 C/C++: g++ 빌드 활성 파일을 선택합니다. 그런 다음 task.json 파일을 생성하고 내용을 다음으로 바꿉니다. 🎜
{
    // 有关 tasks.json 格式的文档,请参见
     // https://go.microsoft.com/fwlink/?LinkId=733558
     "version": "2.0.0",
     "tasks": [
     {
     "type": "shell",
     "label": "g++ build active file",
     "command": "/usr/bin/g++",
     "args": [
     "-std=c++11",
     "-g",
     "${file}",
     "-o",
     "${fileDirname}/${fileBasenameNoExtension}"
     ],
     "options": {
     "cwd": "/usr/bin"
     },
     "problemMatcher": [
     "$gcc"
     ],
     "group": {
     "kind": "build",
     "isDefault": true
     }
     },
     { //删除二进制文件
     "type": "shell",
     "label": "delete output file",
     "command": "rm",
     "args": [
     "${fileDirname}/${fileBasenameNoExtension}"
     ],
     "presentation": {
     "reveal": "silent", //删除过程不切换终端(专注程序输出)
     }
     }
     ]
    }
🎜🎜(4.2) launch.json 구성🎜🎜🎜 메뉴 표시줄에서 디버그>구성 추가를 선택하고 C++(GDB/LLDB)를 선택합니다. 을 클릭하고 드롭다운 표시줄에서 g++ 빌드를 선택하고 활성 파일을 디버그합니다. launch.json을 생성하고 내용을 다음과 같이 변경합니다. 🎜
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: 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": "为 gdb 启用整齐打印",
     "text": "-enable-pretty-printing",
     "ignoreFailures": true
    }
    ],
    "preLaunchTask": "g++ build active file",
    "postDebugTask": "delete output file",
    "miDebuggerPath": "/usr/bin/gdb"
    }
    ]
   }
🎜🎜4. 디버깅 실행🎜🎜🎜 그냥 디버그하고 main.cpp🎜🎜🎜🎜🎜에서 실행하세요. VSCode에 대한 자세한 내용을 보려면 🎜vscode 기본 튜토리얼🎜을 방문하세요! 🎜🎜

위 내용은 자세한 구성 설명: vscode의 원격 디버깅 C++의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제