최근에 Linux 웹 서버 개발을 배우고 있습니다. Linux에서 자체 C/C++ 코드를 디버깅해야 합니다. 그러나 Linux는 Windows에서 직접 Visio Studio나 기타 통합 개발 환경만큼 편리하지 않습니다. 상대적으로 문제가 있습니다. 따라서 원격 개발을 위해 VScode 사용을 고려할 수 있습니다. 그러나 인터넷의 많은 튜토리얼은 명확하지 않습니다. 많은 튜토리얼을 시도한 후에 최종 요약은 다음과 같습니다. [추천 학습: "vscode 튜토리얼"]
원격 시스템: ubuntu18.04(가상 머신)
개발 호스트: windows10
(1) 필요한 소프트웨어 설치: ssh(시스템 통신), gdb, gsdbserver(코드 디버깅):
sudo apt-get install openssh-server sudo apt-get install gdb sudo apt-get install gdbserver
(2) 테스트 폴더 및 파일 생성
참고:
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 -g
g++ main.cpp -o main -g
注意:
(4)启动gdbserver
(4.1)首先看一下自己的ubuntu系统ip地址:
hostname -I
可以得到本地ip地址为192.168.199.131
(4.2)启动gdbserver(注意更改ip地址和测试文件目录)
gdbserver 192.168.199.131:2000 ~/桌面/testvs/main
참고:
(4)gdbserver 시작
hostname -I
192.168.199.131로 얻을 수 있습니다
gdbserver 192.168.199.131:2000 ~/Desktop/testvs/main
3. 호스트 VScode 설정
C/C++C/C++ Extension Pack
Remote - SSH원격 개발왼쪽 하단의 "관리"->"제어판"에서 "원격-SSH: 호스트에 연결..." 옵션을 찾습니다. 새 SSH 호스트 추가...우분투 시스템 IP 주소를 입력하면 새로운 주소가 나타납니다. 인터페이스
빨간색 상자에 우분투 시스템 비밀번호를 입력하세요. 왼쪽 하단에 녹색 IP 주소가 표시되면, 아래와 같이 성공적으로 연결되었습니다.
(3) 테스트 파일 열기
그런 다음 Ubuntu에서 Vscode 및 gdbserver를 다시 시작하고(다시 시작해야 합니다. 그렇지 않으면 다음 단계에서 오류가 보고됩니다) 위의 원격 연결 프로세스를 다시 실행합니다.
🎜🎜(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", //删除过程不切换终端(专注程序输出) } } ] }
{ // 使用 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" } ] }
위 내용은 자세한 구성 설명: vscode의 원격 디버깅 C++의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!